問題背景:項目開發測試階段出現該問題。
復現:開發調試過程中一直沒有問題,本地下載excel、Word、pdf 都完美,但是在服務部署到服務器之后,測試環境的chrome就總是下載失敗,提示網絡錯誤。
。
這時候追蹤問題,本地測試時發現每次下載都會有問題警示:Resource interpreted as Document but transferred with MIME type application/octet-stream,
各種百度,大多數都是說修改content-type,但是不管修改成什么類型,抓包都顯示返回了相應的類型,但下載就是不成功(不得不吐槽一下百度,真的是打廣告一流)。
轉戰bing,成功找到解決辦法:增加頭信息Content-Length,,其中bytes就是要下載的二進制流文件,
造成這種情況的原因,其實是高版本的chrome對字節流的下載進行了限制,需在頭信息中聲明字節流長度。(這里的限制具體是什么,等后續找到確切說法我再來更新)
2019.08.23 更新:這種方式導出的word有丟失文字現象。在頭部增加的流的長度只是正文的長度(bytes.Length部分),還需要加上頭部的長度,我這里加了5000,也是一點點測出來的。
僅作為問題記錄
解惑地址:https://blog.csdn.net/qq_34720759/article/details/79189480
好好學習,認真筆記