通过 axios 的方式下载文件至本地,具体方法如下:
注: responseType 设置为 blob 二进制流的方式
exportFailedPersonnel(id: number): void { // 导出失败人员
console.log('导出失败人员 - ' + id);
const caId = this.userService.userInfo.caid;
const token = this.userService.userInfo.token;
const tissueId = this.userService.userInfo.tissueid;
const userName = this.userService.userInfo.username;
const url = '/api/exam/task/export/failed/' + id;
axios.get(url, {
params: {},
headers: {
caid: caId,
tissueid: tissueId,
token: token,
username: username,
},
responseType: 'blob', // 切记类型 blob
}).then((res) => {
console.log(res);
let blob = new Blob([res.data]);
let url = window.URL.createObjectURL(blob); // 创建 url 并指向 blob
let a = document.createElement('a');
a.href = url;
a.download = '导出失败人员.xlsx';
a.click();
window.URL.revokeObjectURL(url); // 释放该 url
}).catch((err) => {
console.log(err);
});
}
以上便是此次分享的全部内容,希望能对大家有所帮助!