1

我正在使用 Rails 5。我已设置此链接以下载文件

<%= link_to image_tag("cc_icon.png"), scenario_download_cc_path(subscription.scenario), :remote => true %>

链接到这个控制器方法

def download_cc
  scenario = Scenario.find(params[:scenario_id])
  send_data scenario.cc_data, filename: "#{scenario.title}.imscc", type: 'application/zip', :disposition => 'attachment'
end

但是当我点击上面的链接时,即使我看到正在进行远程调用,我的浏览器中也没有出现文件下载(我在 Chrome 和 Firefox 上都试过了)。我该如何进行这项工作?请注意,删除“remote => true”不是一个选项,因为我的地址栏中的 URL 会发生变化,这是我不想要的。

4

1 回答 1

1

我还没有看到用于文件下载的远程选项。它主要是为 AJAX 表单发布和 URL 命中而设计的,例如删除记录或对 AJAX 有意义的操作调用。

如果您希望链接强制出现“另存为...”对话框,请使用download链接中的属性。“裸”下载属性将强制“另存为...”对话框。它的值将是下载文件名。因此<a href="/my/download/action" download="file_100.zip">会打开一个对话框,提示您保存file_100.zip.

于 2016-12-30T16:45:57.547 回答