前提:后端返回的是一个压缩好的文件流
首先在请求的时候需要加上
responseType: ‘blob’

const download = (blob, name) => {
const link = document.createElement('a') // 创建一个a标签
const url = URL.createObjectURL(blob) // 将blob文件对象通过URL.createObjectURL()方法转为为url
link.href = url // 为a标签设置href属性,并赋值为url
link.download = name // 定义下载的文件名,文件名要包含后缀哟!如'导出EXCEL.xlsx'
document.body.appendChild(link) // 把a标签放在body上
link.click() // 出发a标签点击下载
document.body.removeChild(link) // 在body中移除这个a标签
URL.revokeObjectURL(url) // 释放blob对象
}
函数有两个参数,第一个是blob对象;第二个是文件名称,包含文件后缀。
然后拿到数据直接调用就好了
版权声明:本文为weixin_44350315原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。