1、需求场景
api接口返回word文件流,返回报文为乱码,需要转换为.doc文件并下载
2、方法
接口返回报文处理:
第一种、xhr:{ responseType: ‘blob’ },处理文件流为Blob类型
第二种、在接收到文件流后,用下面的方法将其处理为Blob类型,
let file_blob = new Blob(res);
Blob文件类型处理(chrome):
/*
* data:Blob文件
* title:文件名称 -'xxxxxx.doc'
*/
downLoadXls(data: blob, title: string) {
const blobUrl = window.URL.createObjectURL(data);
const a = document.createElement('a');
a.style.display = 'none';
a.download = title;
a.href = blobUrl;
a.click();
document.body.removeChild(a);
}
ps:目前只在chrome内调用,别的浏览器本人未尝试过。