我想连接我的 Chrome 扩展程序,以便能够从我的 Ruby on Rails 服务器下载文件。特别是当用户点击扩展上的按钮时,扩展应该向服务器发送一个 AJAX 请求,然后服务器应该向file.zip
用户发送一个文件。
服务器如何将文件发送回用户的扩展名?
我想连接我的 Chrome 扩展程序,以便能够从我的 Ruby on Rails 服务器下载文件。特别是当用户点击扩展上的按钮时,扩展应该向服务器发送一个 AJAX 请求,然后服务器应该向file.zip
用户发送一个文件。
服务器如何将文件发送回用户的扩展名?
在 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() {});
}