ruby-on-rails – Rails’link_to’立即下载图像,而不是在浏览器中打开它

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails’link_to’立即下载图像,而不是在浏览器中打开它前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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=&lt;file name.ext&gt;

如果从文件系统提供文件,send_file方法将允许您适当地设置此头文件

http://api.rubyonrails.org/classes/ActionController/Streaming.html#method-i-send_file

如果文件存储在数据库中,可以使用send_data:

http://api.rubyonrails.org/classes/ActionController/Streaming.html#method-i-send_data

猜你在找的Ruby相关文章