由于业务需要,需要导出excel的功能。后台返回的文件流就是文件流,所以前端需要做一些处理导出关键代码this.$ajax.post('/ship/order/exportOrder',param,{responseType:'arraybuffer'}).then(res=>{if(window.navigator.msSaveOrOpenBlob){navigator.msSaveBlob(blob);}else{constaLink=document.createElement('a');constblob=newBlob([res.data],{type:"application/vnd.ms-excel"});//创建当前文件的内存中URLconst_href=URL.createObjectURL(blob);aLink.style.display='none';aLink.href=_href;document.body.appendChild(aLink);aLink.setAttribute('download','orderdata.xlsx');aLink.click();document.body.removeChild(aLink);//手动释放创建的URL对象占用的内存URL.revokeObjectURL(_href);}})上面代码的关键是{responseType:'arraybuffer'}这个指定的类型,之前忘了加这个参数,虽然可以导出一个excel文件最后,但是当它打开时,重新出现错误ported"此文件已损坏,无法加载";所以这个不能错过
