问题: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)
})
},
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。