当前位置: 首页 > Web前端 > JavaScript

导出报错

时间:2023-03-26 20:37:25 JavaScript

背景:实现导出功能时,后台返回一个二进制文件流。当导出失败报错的时候,发现后台返回的信息无法提示,于是找到了FileReader来解决这个问题。.1.了解FileReader的定义FileReader允许Web程序读取文件,所以可以用它来转换Blob数据。接下来看看exportReport(){varparams=this.$refs.query.handleParams();afterSale.downloadLocalFirstInsRateList({filters:params,pageIndex:this.pageNum,pageSize:this.pageSize,sorts:[]}).then(res=>{letthat=this;this.sameParams=res;letreader=newFileReader();reader.readAsText(res);reader.onload=function(res){if(res.target.result.indexOf('statusCode')!==-1){if(JSON.parse(res.target.result).statusCode===500){that.$Message.error(JSON.parse(res.target.result).message);}}else{constfileName='本地第一保险费率分析报告.xlsx';constlink=document.createElement('a');link.href=window.URL.createObjectURL(that.sameParams)link.download=fileName;link.click()window.URL.revokeObjectURL(link.href);}};}).catch(error=>{console.log(error);this.loading=false;});},首先第一步:新建一个FileReader对象第二步:调用FileReader的方法readAsText第三步:回调函数onload获取res.target.result表示读取成功时返回的结果,然后将Blob数据转换成datainjson格式