项目场景:

今天在和后台联调开发时遇到一个bug。
是一个勾选的数据进行导出生成excl文件,前端获取勾选数据的id,组成参数,请求后台,后台返回文件流,前端处理,浏览器自动下载成excl文件。


问题描述:

在这里插入图片描述

使用了Blob,前后端数据联调成功,数据返回也正常,但是下载好的excl文件打开没有内容,显示object,object。

解决方案:

axios({
     method: 'post',
     url:PramsUrl,
     data:preOrderNoIds,
     responseType:"arraybuffer"
}).then((res)=>{
      let url = window.URL.createObjectURL(new Blob([res.data], { type: '.xlsx' }));
      let a= document.createElement('a');
      a.style.display = 'none';
      a.href = url;
      a.setAttribute('download', `${this.downloadName}.xlsx`);
       document.body.appendChild(a);
       a.click();
       url = window.URL.revokeObjectURL(url);
       document.body.removeChild(a)
}).catch(error => {
        this.$message.error('导出失败')
});
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐