前几天有一个需求是访问一个后台接口,直接下载csv 文件,一开始一直没有下载成功,请求之后直接返回了数据,并没有形成下载,到底是什么原因呢?
const instance = axios.create({
baseURL: testUrl,//api的base_url
withCredentials: true,//是否跨域
xhrFields: { responseType: "blob" },
headers: {
}
})
一定要和后台协商一下返回类型,这里我们采用bolb ,
下面我们看下请求后的操作
exportFile(params).then(res=>{
const blob = new Blob([content],{type: 'text/csv,charset=UTF-8'});
const fileName = "xxx.csv";
if ("download" in document.createElement("a")) {
// 非IE下载
const elink = document.createElement("a");
elink.download = fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObject