我希望我的rails应用程序的用户能够点击"下载"链接,然后他们将下载我放在公共文件夹中的png文件.( 'tool.png')
目前我有不正确的......
<%= link_to "download", '/tool.png', :action => 'download' %>
Run Code Online (Sandbox Code Playgroud)
我在控制器中创建了一个下载操作:
def download
send_file '/tool.png', :type=>"application/png", :x_sendfile=>true
end
Run Code Online (Sandbox Code Playgroud)
这里发生的事情是,当用户点击"下载"链接时,它会在自己的窗口中打开tool.png,而不是实际下载文件.
谁能帮我这个?
谢谢
因为HTML5
它实际上非常简单.您不需要特殊的控制器操作.
<%= link_to "download", '/tool.png', :download => 'filename' %>
# 'filename' specifies the new name for the downloaded file
Run Code Online (Sandbox Code Playgroud)
注意:检查文档以查看支持的浏览器
如果要支持所有浏览器,则必须使用download action
您设置的浏览器.唯一缺少的是设置正确的route
.
的routes.rb
get '/download_pdf', "controller_name#download", :as => :download_pdf
Run Code Online (Sandbox Code Playgroud)
然后将您的HTML链接到正确的路径,该路径将调用download action
并发送文件.
<%= link_to "download", :download_pdf_path
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1727 次 |
最近记录: |