在Angular中使用HttpClient的问题总结
小于 1 分钟
关于 blob 返回类型
当需要进行文件下载时,设置了返回类型为 Blob,但是出现后台报错,返回 JSON 类型数据时的处理
this.http
.post(
`/index/v2/downloadIndexValTemplate`,
{
...this.condition,
},
{ responseType: "blob" }
)
.subscribe((res) => {
if (res.type == "application/vnd.ms-excel") {
const a = document.createElement("a");
a.href = URL.createObjectURL(res);
a.download = "文件.xlsx";
a.click();
} else {
const reader = new FileReader();
reader.readAsText(res);
reader.onloadend = () => {
const { reason } = JSON.parse(reader.result + "");
this.message.error(reason);
};
}
});