項目記錄:舊的iOS不能正確下載Excel文件

今天測試發現一個問題:使用舊的iOS系統請求下載Excel文件的接口,最後下載下的文件多添加了一個.xls後綴,這也導致手機不能正常的打開Excel文件。

但是這個問題在Android手機,PC和較新的ios系統中卻不存在這個問題。

搜索了一下,根據這篇文章找到了問題的原因。https://blog.csdn.net/xueyuanjiayou/article/details/84628218

原來是在谷歌、火狐等瀏覽器中,Content-type 的設置貌似並不重要,但在 Safari 上則有不同:

當 Content-type 設置爲 text/html 時,下載的文件會被自動添加上後綴 .html;
當設置爲 application/x-msdownload 時,下載的文件會被自動添加後綴 .exe。
content-type 用於告訴瀏覽器應該以何種方式處理文件。瀏覽器會盡量以可識別的方式來打開它,如圖一爲相關的測試情況:
如果你覺得針對不同文件類型區別設置不同的 Content-type 太麻煩,那麼將它設置爲 application/octet-stream 是比較好的選擇。

我在項目設置的是

response.setContentType("application/msexcel");

改成了application/octet-stream就可以正常了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章