1

我正在使用以下代码段来允许用户下载 zip 文件。这里的路径是 S3 存储桶上的链接。我想确认文件是直接从 S3 下载到浏览器还是先下载到 Rails 服务器然后从那里流式传输?

如果是后者,避免这种情况的最佳方法是什么?

path = "#{file.download_attachment.path}"  
send_file path, :type => 'application/zip',
                :disposition => 'attachment',
                :filename => "#{file.name}.zip"
4

1 回答 1

1

关于这个问题的公认答案:Difference between rails send_data and send_file,举例说明send_file和send_data之间的区别。

如果您喜欢流式传输某些内容,请使用 send_data。如果您想发送已经存在的文件,请使用 send_file,因此您的代码似乎可以按照您喜欢的方式工作;)

于 2013-05-05T22:49:50.463 回答