后端返回文件流,vue下载到本地
请求时需要设置responseType: “blob”,否则下载pdf文件打开会为空
下载方法代码如下:
//url请求参数
//params请求参数
//filename文件名称
export function download(url, params, filename) {
return service
.post(url, params, {
transformRequest: [
// (params) => {
// return tansParams(params);
// },
],
headers: {
"Content-Type": "application/json;charset=utf-8",
//"Content-Type": "application/x-www-form-urlencoded",
},
responseType: "blob",//关键
})
.then((data) => {
(data);
const content = data;
const blob = new Blob([content]);
if ("download" in ("a")) {
const elink = ("a");
= filename;
= "none";
= (blob);
(elink);
();
();
(elink);
} else {
(blob, filename);
}
})
.catch((r) => {
(r);
});
}