-
正确格式
-
错误格式
-
请求方法
this.axios.get("api/xxx/xxx",{params:this.filter,responseType:'blob'})//这里的传递要加responseType:'blob'指定类型,后端不需要处理这个类型,只需要传过去就行 -
下载文件
.then((res)=>{
let blob=new Blob([res.data],{type:res.data.type})
//兼容ie
if(window.navigator && window.navigator.msSaveBlob){
window.navigator.msSaveBlob(blob,filename);
}else{
var downloadElement=document.createElement('a');//模拟一个a标签与asp.net试图操作类似
var href=window.URL.createObjectURL(blob);//转成链接让其能供人下载
downloadElement.href=href;//a标签的href
downloadElement.download=filename;//a标签的下载名字
document.body.appendChild(downloadElement);//注册这个控件将这个组件加到body尾部
downloadElement.click();//注销掉
window.URL.revokeObjectURL(href);//清除生成的链接,会占用一些东西,不知道啥,反正运行慢点
}
});
参考链接 https://blog.csdn.net/weixin_45973327/article/details/120565446