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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...