safari 附件下载文件被添加后缀(html\exe等)的问题

通过程序读取文件或生成文件来下载,一般只需设置 header 头即可:

1 header('Content-type: application/pdf');
2 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 是比较好的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值