safari下載文件後綴多添加了.exe的解決方法

通過程序讀取文件或生成文件來下載,一般只需設置 header 頭即可:

header('Content-type: application/pdf'); 
header('Content-Disposition: attachment; filename="保存時的文件名.pdf"');

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

  • 當 Content-type 設置爲 text/html 時,下載的文件會被自動添加上後綴 .html;
  • 當設置爲 application/x-msdownload 時,下載的文件會被自動添加後綴 .exe。

content-type 用於告訴瀏覽器應該以何種方式處理文件。瀏覽器會盡量以可識別的方式來打開它,如圖一爲相關的測試情況:

content-type

從圖一可以看出,如果你覺得針對不同文件類型區別設置不同的 Content-type 太麻煩,那麼將它設置爲 applicatoin/octet-stream 是比較好的選擇。

相關參考

http://www.cfanz.cn/?c=article&a=read&id=80293

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