如何创建不会更改浏览器网址的下载链接?

时间:2016-12-14 20:50:25

标签: ruby-on-rails url download ruby-on-rails-5 link-to

我正在使用Rails 5.我有一个用户点击下载文件的链接......

<%= link_to "#{scenario_file.title}", scenario_file_path(scenario_file) %>

它链接到这个控制器方法...

  def show
    @scenario_file = ScenarioFile.find(params[:id])
    send_data @scenario_file.file_data, filename: "#{@scenario_file.title}", type: @scenario_file.mime_type, :disposition => 'attachment' 
  end

我的问题是,当有人点击链接时,浏览器网址会更改为链接(显然)。但是,有什么方法可以重写上面的链接,以便文件下载,但我的浏览器的URL不会改变?

1 个答案:

答案 0 :(得分:0)

尝试将target="_blank"添加到链接:

<%= link_to "#{scenario_file.title}", scenario_file_path(scenario_file), target: '_blank' %>

您也可以使用html5 download属性。下载属性正在触发强制下载。

<%= link_to scenario_file.title, scenario_file_path(scenario_file), download: scenario_file.title %>