原代码(网上复制的下载方法)
const res = ...
const blob = new Blob(...)
const downloadElement = document.createElement('a') // 新建一个DOM节点
const href = window.URL.createObjectURL(blob) // 创建下载的链接
downloadElement.href = href
downloadElement.download = filename // 下载后文件名
document.body.appendChild(downloadElement) // 将新增的节点挂载到页面上
downloadElement.click() // 点击下载
document.body.removeChild(downloadElement) // 下载完成移除元素
window.URL.revokeObjectURL(href)
由于 IE11 不支持第 8 行的 .click(),报错 “Unhandled promise rejection TypeError: 对象不支持此操作”
解决方法
// 判断是否是 IE
if (navigator.msSaveOrOpenBlob) {
navigator.msSaveOrOpenBlob(blob, filename)
} else {
downloadElement.click()
}
菜鸟一枚,仅用来记录一下解决方法 =。=