0

使用refilegem,我上传了文档(.pdf、.docx、.pptx 等)。上传就好了。当我使用attachemnt_url时,它会产生类似/attachments/...234jksdf2.../document. 当我单击 时link_to,它会下载没有扩展名的文档。

发生了什么让它以这种方式运行?如何恢复我的文件类型健全性?

4

2 回答 2

1

我试图解决完全相同的问题,这是我尝试过的一种方法:

Refile 允许您保存其他元数据,例如content_typehttps ://github.com/refile/refile#additional-metadata 。生成的文件内容类型将保存为类似"image/png""application/pdf".

然后我们可以应用类似的东西

link_to "Download file", attachment_url(@document, :file, format: @document.file_extension)

凭什么

in document.rb

def file_extension
    file_content_type.split("/").last.to_sym
end

唯一的问题是这不会自动下载文件,而是在新页面中打开它,然后您可以在其中下载文件。还在寻找更好的选择!

于 2016-04-29T04:18:59.953 回答
0

这最终成为我的正确解决方案。

link_to "Download file", attachment_url(@document, :file, format: @document.file_extension)

def file_extension 
    require 'rack/mime'   
    Rack::Mime::MIME_TYPES.invert[document_content_type].split('.').last 
end
于 2016-05-11T14:34:55.773 回答