Rails - 使用Fog / Carrierwave下载S3文件的问题

时间:2016-11-07 04:18:15

标签: ruby-on-rails amazon-s3 carrierwave

我有一个Rails应用程序,我使用Fog / Carrierwave在S3上存储文件。当我去下载文件时,我没有得到预期的结果。我的代码如下:

v_file_name = "https://s3.amazonaws.com/{bucket}/{file}.pdf"

data = open(URI.parse(URI.encode(v_file_name)))

send_data data, :type => 'application/pdf', :disposition => 'attachment', :filename => "{filename}.pdf"

我希望得到下载文件对话框,但我会在浏览器中重定向到以以下内容开头的页面:

%PDF-1.3 %���� 1 0 obj << /Creator /Producer >> endobj 2 0 obj....

结束于:

..... << /Size 10 /Root 2 0 R /Info 1 0 R >> startxref 25361 %%EOF

此代码以前一直在运行,但突然停止工作。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

发现错误。问题是我在项目中期实施了Turbolinks。显然Turbolinks打破了send_file&amp; Rails中的send_data。您可以通过向链接添加“data-turbolinks ='false'”来禁用Turbolinks。这固定了!

相关问题