2011-08-27 80 views
1

最近在交換我的Rails 3.0應用SSL後,我一直有與在Internet Explorer文件下載的問題。在Firefox和Chrome中一切正常。經過大量搜索後,我相當確信這個問題與Cache-Control HTTP響應頭相關。文件下載通過SSL Rails中

所以在代碼中,我在調用send_file之前手動刪除Cache-Control和Pragma。

response.headers.delete("Pragma") 
response.headers.delete('Cache-Control') 
send_file(response_letter_path, :filename=>"aod_response_letter.docx", :disposition=>'inline') 

但是,當我使用Firebug或Chrome開發工具查看HTTP響應時,它仍然顯示「Cache-Control:private」。

因此,首先,我在正確的軌道上解決這個IE問題?第二,這是從HTTP響應中移除標題的正確方法嗎?

謝謝!

回答

0

是的,你是在正確的軌道上。

我只是碰到了這一點,並通過由send_file調用之前添加以下行來解決它。 response.headers.delete('Cache-Control')

Rails設置HTTP標頭Cache-Control:默認爲no-cache。由於IE使用磁盤緩存播放視頻,因此會引發'無法找到播放文件'錯誤。