后端接口返回的是乱码,如何转为blob,以及如何下载
需求
在文件回显后,点击文件进行下载
声明
这是我的笔记,原链接在这里
https://blog.csdn.net/qq_24607837/article/details/98196114
解决办法
1.返回乱码如何转为blob
请求的时候添加这一句
responseType:'blob'
2.转为blob如何下载
downLoadile(index).then((res) => {
// 获取到了res
let blob = new Blob([res]); //type为所需要下载的文件格式,以xls文件为例
if ("download" in document.createElement("a")) {
//支持a标签download的浏览器
const link = document.createElement("a"); //创建a标签
link.download = file.name; //a标签添加属性
link.style.display = "none";
link.href = URL.createObjectURL(blob);
document.body.appendChild(link);
link.click(); //执行下载
URL.revokeObjectURL(link.href); //释放url
document.body.removeChild(link); //释放标签
} else {
navigator.msSaveBlob(blob, file.name);
}
});

浙公网安备 33010602011771号