导出文件操作需要后端返回文件流,前端先把后端返回类型设置为二进制流
exportExcel:(service)=>function(){
url:'#####',
method:'post',
responseType:'blob',//设置为二进制流
}
设置后
拿到二进制流后,转成url,使用a标签下载
let url = window.URL.createObjectURL(new Blob([res],{type:res.type}));
let a = document.createElement('a');
a.style.display = 'none';
a.href = url;
a.setAttribute('download' , filename);
document.body.appendChild(a);
a.click();
url = window.URL.revokeObjectURL(url);
document.body.removeChild(a);
就可以实现文件下载了。(word文件类型换成‘application/msword’)
完整代码