ie浏览器下载文件获取不到Content-Disposition里面的文件名字

http404
  • 270

正常下载一个文件,在谷歌浏览器是正常的,
在ie10以上版本浏览器异常,看了下接口返回的响应头,也正常暴露出Content-Disposition:attachment;filename=%WFTWFH6HHxxx.xls,但就是获取不到

IE请求响应头

xxx.then(respone => {
   const fileNames = respone.headers.get('Content-Disposition').split(';')
   console.log(respone.headers.get('Content-Disposition'))//IE上打印出来是null
}).then(blob => {
   let url = window.URL.createObjectURL(blob);
   ...
})
回复
阅读 1.5k
1 个回答
然后去远足
  • 33.5k
✓ 已被采纳

响应标头的 Access-Control-Expose-Headers 里有 Content-Disposition 吗?

【针对问题补充后的回答补充】

IE 不支持 Access-Control-Expose-Headers 使用通配符 *,你需要手动指定。

因为通配符这个特性是在 2016 才提出来的,而 IE10 发行于 2011 年、IE11 发行于 2013 年,当然不会未卜先知的去支持一个未来才出现的特性了。

事实上如果你 Chrome 版本够低(比如 Chrome 64 之前),也是不支持通配符的。

还有,Safari 目前也不支持通配符。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏