1

我想连接我的 Chrome 扩展程序,以便能够从我的 Ruby on Rails 服务器下载文件。特别是当用户点击扩展上的按钮时,扩展应该向服务器发送一个 AJAX 请求,然后服务器应该向file.zip用户发送一个文件。

服务器如何将文件发送回用户的扩展名?

4

1 回答 1

1

在 Rails 端,确保返回的Content-Type标头是application/zip. 您可以使用#send_file#send_data向客户端发送 zip 文件。请参阅ActionController::DataStreaming

采用#send_file

send_file '/path/to.zip', :type => 'application/zip'

或使用#send_data

zip_data = generate_zip_data()
send_data zip_data, :type => 'application/zip', :filename => 'data.zip'

要生成动态 zip 文件,请参阅其他主题:

在 google chrome 扩展上,您可能希望使用 zip 文件 url 创建新选项卡。这会导致浏览器下载文件。

function buttonClickHandler() {
    chrome.tabs.create({ url: "the url to zip file"}, function() {});
}
于 2012-11-05T09:53:43.500 回答