axios({
method: 'get',
url: '', // 请求地址
data: '', // 参数
headers: { // 请求头
},
responseType: 'blob' // 表明返回服务器返回的数据类型
})
.then((res) => { // 处理返回的文件流
console.log(res,'---')
const blob = res.data;
const reader = new FileReader();
reader.readAsDataURL(blob); // 转换为base64,可以直接放入a标签href
reader.onload = function (e) {
var a = document.createElement("a"); // 转换完成,创建一个a标签用于下载
a.download = '文件名' + ".xls";
a.href = e.target.result;
document.body.appendChild(a);
a.click();
a.remove();
}
})
核心: 二进制转城 base64后