正常下载一个文件,在谷歌浏览器是正常的,
在ie10以上版本浏览器异常,看了下接口返回的响应头,也正常暴露出Content-Disposition:attachment;filename=%WFTWFH6HHxxx.xls,但就是获取不到
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);
...
})
响应标头的
Access-Control-Expose-Headers
里有Content-Disposition
吗?【针对问题补充后的回答补充】
IE 不支持
Access-Control-Expose-Headers
使用通配符*
,你需要手动指定。因为通配符这个特性是在 2016 才提出来的,而 IE10 发行于 2011 年、IE11 发行于 2013 年,当然不会未卜先知的去支持一个未来才出现的特性了。
事实上如果你 Chrome 版本够低(比如 Chrome 64 之前),也是不支持通配符的。
还有,Safari 目前也不支持通配符。