接口请求加了responseType: “blob”,当接口报错了如果不做处理则获取不到接口错误信息,
增加一下if语句判断是否为'application/json'获取报错信息。
// 模板下载
function getTemplateDown(fileName) {
return request({
url: `**/getTemplateDown`,
method: "get",
responseType: "blob",
}).then(res => {
// 接口报错,下载失败
if (res.type === 'application/json') {
const reader = new FileReader();
reader.readAsText(res, 'utf-8');
reader.onload = function () {
const _res = JSON.parse(reader.result);
console.log(_res); // 此处为接口返回值
}
} else { // 正常下载
const link = document.createElement("a");
let blob = new Blob([res]);
link.style.display = "none";
link.href = URL.createObjectURL(blob);
link.setAttribute("download", `${fileName}.xlsx`);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
});
}
接口返回类型blob获取不到接口错误信息问题
最新推荐文章于 2024-04-22 17:30:27 发布