希望任何人都可以提供帮助!
利用Paperclip将文件上传到应用程序,这是我需要涵盖的两件事。
1)链接到File for Download的最佳方式是什么,我目前正在链接到公共文件夹,但它不是最好的选项,因为它显示了我不想要的URL。想想也许button_to调用不确定它是否已经构建到Paperclip中。选项。
2)当完成上述操作后,浏览器需要强制下载而不仅仅是打开文件,或至少让用户打开或保存标准的firefox选项。
请帮助感谢米勒!!!
答案 0 :(得分:12)
我会回答Nº2的问题 假设你的模型叫做gallery 在您的图库控制器中,您将添加下载方法:
def download
@gallery= Gallery.find(params[:gallery_id])
send_file @gallery.gallery_picture.path,
:filename => @gallery.gallery_picture_file_name,
:type => @gallery.gallery_picture_content_type,
:disposition => 'attachment'
end
现在从你的路线你将调用根到这个方法:
match 'gallery/:id' => 'gallery#download', :as => :download
在您的观点中:
- @galleries.each do |gallery|
= link_to 'Download Picture', download_path(gallery.id)
我不在家,我无法测试此代码,但您可以使用与您相同的问题访问我所做的那些问题。如果它能解决您的问题,请告诉我。
Rails send_file multiple styles from Paperclip, how can I avoid code repetition?
Rails 3.0 associated model with download 'save to' image
答案 1 :(得分:0)
在rails中,send_file
带有用户设置的参数是一个安全漏洞。 More information
在rails 4中,你不能只写match
,你必须在末尾添加, via: [:get, :post]
。 More information