目录
需求描述:
后端返回excel的二进制数据,前端收到二进制数据后,让浏览器下载对应excel文件。
解决方案:
这里的res就是指二进制数据
javascript
const link: any = document.createElement('a');
const blob: Blob = new Blob([res], {
type: 'application/vnd.ms-excel',
});
link.style.display = 'none';
link.href = URL.createObjectURL(blob);
// download="filename" 属性规定被下载的超链接目标。filename规定作为文件名来使用的文本。
const date: Date = new Date();
link.download = `file-export-${date.getFullYear()}-${date.getMonth()}-${date.getDay()}.xlsx`; // 下载的文件名
// link(a)是一个dom元素(一个标签),向body中插入了一个dom(a)元素。
document.body.appendChild(link);
// 创建一个a链接 使用a.click()模拟点击
link.click();
document.body.removeChild(link);
调用以上逻辑即可将二进制数据转为文件,在浏览器中下载。