欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

axios 请求下载文件excel,后端返回二进制的文件

程序员文章站 2024-03-20 17:19:46
...
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后