axios.post('/url', {data: data}, {
responseType: 'blob'
}).then((res) => {
let typeCount = {
type: "application/vnd.ms-excel", // 返回为excel文件类型
};
let blobb = new Blob([res.data],typeCount);
if (res.data.type != typeCount.type) { // 非excel文件时
const fileReader = new FileReader()
fileReader.readAsText(blobb,'utf-8')
fileReader.onload = function () {
let msg = JSON.parse(fileReader.result);
message.error(msg.meta.message); // 报错
}
return;
}
const blob = res.data;
const reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = (e) => {
const a = document.createElement('a');
a.href = e.target.result;
a.setAttribute('download', "file.name");
document.body.appendChild(a);
a.style.display = 'none';
a.click();
document.body.removeChild(a);
};
});