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

发布于 2022-09-13 00:34:30 字数 464 浏览 27 评论 0

正常下载一个文件,在谷歌浏览器是正常的,
在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);
   ...
})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

未央 2022-09-20 00:34:30

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

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

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

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

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文