希望大家都能帮忙!
使用回形针将文件上传到应用程序,所以我需要介绍两件事。
1)链接到文件下载的最佳方式是什么,我目前链接到公共文件夹,但它不是最好的选择,因为它显示了我不想要的URL。我想也许要调用一个按钮,但不确定这是否已经构建到回形针中了。选项。
2)当以上操作完成后,浏览器需要强制下载,而不仅仅是打开文件,或者至少给用户提供标准的firefox打开或保存选项。
请协助,谢谢!!
我来回答第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多个样式从回形针,我怎么能避免代码重复?
下载'保存到'图片
在rails中,用户设置参数的send_file
是一个安全漏洞。
在rails 4中,您不能只写match
,您必须在末尾添加, via: [:get, :post]
。更多信息