【问题标题】:How can I create a download link that won't change my browser's URL?如何创建不会更改浏览器 URL 的下载链接?
【发布时间】:2016-12-14 20:50:24
【问题描述】:

我正在使用 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 会更改为链接(显然)。但是,有没有什么办法可以重写上面的链接,让文件可以下载,但我的浏览器的 URL 不会改变?

【问题讨论】:

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


    【解决方案1】:

    尝试在链接中添加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 %>
    

    【讨论】:

    • 您好,您的 HTML 5 解决方案仍然导致浏览器中的 URL 发生变化。
    猜你喜欢
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 2015-11-15
    相关资源
    最近更新 更多