2016-11-07 84 views
0

我有一個Rails應用程序,我在S3上使用霧/ Carrierwave存儲文件。當我去下載文件時,我沒有得到預期的結果。我的代碼如下:Rails - 使用霧/ 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 

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

任何幫助將不勝感激!

回答

0

發現錯誤。問題在於我已經實施了Turbolinks中期項目。顯然Turbolinks打破send_data在Rails send_file &。您可以通過向鏈接添加「data-turbolinks ='false'」來禁用Turbolinks。這固定它!

相關問題