调接口时添加 responseType: ‘blob’
return request('接口', {
method: 'POST',
responseType: 'blob',
data:{
...params,
},
});
对返回的文件流进行处理
response为获取到的文件流
(response: any) => {
// 创建blob对象
const blob = window.URL.createObjectURL(
new Blob([response]),
);
// 创建a链接
const aLink=document.createElement('a');
// 设置隐藏a链接
aLink.style.display='none';
// 把创建的blob给a.href
aLink.href=blob;
// 设置下载文件的名称
aLink.download='下载的文件名称.类型';
// 向body添加a链接
document.body.appendChild(aLink);
// 点击a链接
aLink.click();
// 点击完成后记得删除创建的链接
document.body.removeChild(aLink);
}