首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蜻蜓设置原始文件名

蜻蜓设置原始文件名
EN

Stack Overflow用户
提问于 2015-02-10 10:30:09
回答 3查看 905关注 0票数 0

我用Dropbox和蜻蜓一起存储我的文件上传。

我有以下代码:

代码语言:javascript
复制
if hash[:file_dropbox].present? #DROPBOX
    path = "Attachments/" + Time.now.strftime("%d%m%Y_%H%M") + "_" + rand(1000).to_s + "_" + File.basename(hash[:file_dropbox])
    data = open(hash[:file_dropbox]) { |f| f.read }
    file["file"] = Dragonfly[:images].store(data, path: path)
end

问题:

蜻蜓使用我用于路径的文件名作为存储的名称。在使用Dragonfly.store时可以设置不同的单独文件名吗?

对于普通文件,蜻蜓使用original_filename,但我似乎不能通过Dragonfly.store设置它。

有什么建议吗?

EDIT1:

我试过以下几种方法:

代码语言:javascript
复制
file["file"] = Dragonfly[:images].store(data, path: path,
        original_filename: "hello.docx")

file["original_filename"] = File.basename(hash[:file_dropbox])

使用普通文件上传时,可以设置original_filename。但是我不能设置data.original_filename,因为它只是二进制数据。

EN

回答 3

Stack Overflow用户

发布于 2020-03-28 18:15:13

不知道你的设置是什么,但我有模型照片和蜻蜓附件设置为图像。就我而言,它的工作方式是这样的:

代码语言:javascript
复制
photo.image.meta["name"] = "new_file_name.jpg"
票数 1
EN

Stack Overflow用户

发布于 2015-02-10 19:18:47

我从未使用过蜻蜓,但我正在浏览它们的源代码,我认为传递名称选项可能有效。请看一下Github回购

代码语言:javascript
复制
def name
  meta["name"] || temp_object.original_filename
end
票数 0
EN

Stack Overflow用户

发布于 2020-06-18 09:38:04

在使用DragonFly的模型类中,为图像添加一个访问器:

代码语言:javascript
复制
dragonfly_accessor :image do
  storage_options{|attachment| {path: "<somehow generate your path>"}
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28429404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档