场景:axios请求后台,返回二进制流,下载excel文件

代码
// 返回二进制流部分
let _res = res; // res就是返回的二进制流
let blob = new Blob([_res], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" });
let downloadElement = document.createElement("a");
let href = window.URL.createObjectURL(blob); //创建下载的链接
downloadElement.href = href;
downloadElement.download = 'Data output'; //下载后文件名
document.body.appendChild(downloadElement);
downloadElement.click(); //点击下载
document.body.removeChild(downloadElement); //下载完成移除元素
window.URL.revokeObjectURL(href); //释放掉blob对象
// 请求部分
在headers 里面加上responseType:'blob'
本文介绍了如何使用Axios从后台获取二进制流数据,并通过Blob对象和创建下载链接实现文件下载,重点展示了响应头设置和Blob处理技巧。
341

被折叠的 条评论
为什么被折叠?



