我想连接我的Chrome扩展程序,以便能够从我的Ruby on Rails服务器下载文件。特别是,当用户单击扩展上的按钮时,扩展应该向服务器发送AJAX请求,然后服务器应该将文件file.zip
发送回用户。
服务器如何将文件发送回用户的扩展名?
答案 0 :(得分: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文件网址创建新标签页。这会导致浏览器下载文件。
function buttonClickHandler() {
chrome.tabs.create({ url: "the url to zip file"}, function() {});
}