我有一个link_to Rails帮助器,当点击时下载壁纸.但是图像正在加载到浏览器中,而不是立即下载.
<%= link_to "1920x1080",@download.wallpapers[1].wallpaper.url %>
但是在同一时间,我有一个link_to Rails帮助程序,它下载了.exe格式的屏幕保护程序,但是在这里它的工作原理是:文件被立即下载.
<%= link_to "720p",@download.screensavers.first.screensaver.url %>
我应该添加或做什么,使图像不会在浏览器中打开,而是立即下载?
谢谢!
解决方法
一般来说,最简单的方法是在发送图像时设置相应的标题:
Content-Disposition: attachment; filename=<file name.ext>
如果从文件系统提供文件,send_file方法将允许您适当地设置此头文件:
http://api.rubyonrails.org/classes/ActionController/Streaming.html#method-i-send_file
http://api.rubyonrails.org/classes/ActionController/Streaming.html#method-i-send_data