场景: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'