简单点,说话的方式简单点:直接上代码~~
axios({ // 用axios发送post请求
method: 'post',
withCredentials: true,
url:url, // 请求地址
data: param,
responseType: 'blob',//防止导出文件破损或乱码
headers: { 'Content-Type': 'application/json' }
}).then(res => {
try {
var blob = new Blob([res.data]);
var filename = fileName;
var a = document.createElement('a');
var url =window.URL.createObjectURL(blob);
a.href = url;
a.download = filename;
var body = document.getElementsByTagName('body')[0];
body.appendChild(a);
a.click();
body.removeChild(a);
window.URL.revokeObjectURL(url);
} catch (e) {
}
})
我是按这块代码来处理的,如果你遇到导出文件破损或者乱码的情况
一定要检查一下你是否添加
responseType: ‘blob’!!!!!
版权声明:本文为weixin_45479634原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。