Send_file在浏览中打开文件而不是下载它

时间:2016-09-29 14:55:01

标签: ruby-on-rails ruby-on-rails-4

请告诉我这是如何工作的,因为我不明白......这是我的简单代码:

路线:

scrip.sh

我的行动:

 get 'download' =>'pages#download'

并下载链接:

def download
  send_file "#{Rails.root}/public/downloads/robots.zip", :type=>"application/zip"

所以,当我点击链接时,我得到了这个:

Image http://joxi.ru/GrqvQ3xHlbaYmz.jpg

似乎浏览器正在尝试显示zip文件内容......但是当我从浏览器(或刷新页面)打开操作时,它工作正常。

当我点击<%= link_to "download", download_path %> 生成的链接时,为什么不起作用?

2 个答案:

答案 0 :(得分:2)

添加disposition: "inline"代替disposition: "attachment"对我有用。

答案 1 :(得分:1)

  

Send_file在浏览中打开文件而不是下载

试试这个

def download
  send_file("#{Rails.root}/public/downloads/robots.zip", :type=>"application/zip",:disposition=> "attachment; filename=robots.zip")
end

<%= link_to "download", download_path ,target: '_self' ,  data-turbolinks="false" %>