共计 777 个字符,预计需要花费 2 分钟才能阅读完成。
问题:360 浏览器下载时候偶然胜利,控制台查看接口显示胜利
解决:兼容代码如下
downloadExcel(dPath,param){
// dPath-- 申请地址
// param-- 申请门路
this.$axios.post(dPath, param, {responseType: 'arraybuffer'}
).then(res => {if (window.navigator && window.navigator.msSaveOrOpenBlob) {// 兼容
window.navigator.msSaveOrOpenBlob(blob, 这是下载的文件名 + '.xls')
} else {var blobURL = window.URL.createObjectURL(blob)// 将 blob 对象转为一个 URL
var tempLink = document.createElement('a')// 创立一个 a 标签
tempLink.style.display = 'none'
tempLink.href = blobURL
tempLink.setAttribute('download', 这是下载的文件名)// 给 a 标签增加下载属性 -- 文件名称
if (typeof tempLink.download === 'undefined') {tempLink.setAttribute('target', '_blank')
}
document.body.appendChild(tempLink)// 将 a 标签增加到 body 当中
tempLink.click()// 启动下载
document.body.removeChild(tempLink)// 下载结束删除 a 标签
window.URL.revokeObjectURL(blobURL)
}
}).catch((error) => {console.log(error)
})
},
正文完