文件流下载

230 阅读1分钟
const blob = new Blob([文件流], { type: 'application/vnd.ms-excel' }) // 构造一个blob对象来处理数据,并设置文件类型
const href = URL.createObjectURL(blob) //创建新的URL表示指定的blob对象
const a = document.createElement('a') //创建a标签
a.style.display = 'none'
a.href = href // 指定下载链接
a.download = '文件名' //指定下载文件名
a.click() //触发下载
URL.revokeObjectURL(a.href) //释放URL对象
// 这里也可以不创建a链接,直接window.open(href)也能下载

tips: 如果使用axios返回的文件流,需要在请求时添加{responseType: 'blob'},否则下载后的文件无法打开