前端 下载后端返回的二进制excel数据

目录

需求描述:

解决方案:


需求描述:

后端返回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);

调用以上逻辑即可将二进制数据转为文件,在浏览器中下载。

相关推荐
Java中文社群几秒前
绝了!分享一个超赞的UI框架!
前端
Zayn10 分钟前
JavaScript 小数精度问题
前端·javascript
西维11 分钟前
高效使用AI从了解 Prompt / Agent / MCP 开始
前端·人工智能·后端
Maxkim15 分钟前
🐳 前端工程师的后端小实验:Docker + Sequelize 玩转 MySQL API 🚀
javascript·后端
110546540128 分钟前
35、自主移动机器人 (AMR) 调度模拟 (电子厂) - /物流与仓储组件/amr-scheduling-electronics
前端·javascript
SuperYing30 分钟前
还在为调试组件库发愁吗?yalc 帮你一把
前端·npm
跟橙姐学代码37 分钟前
Python 高手都偷偷用的 Lambda 函数,你还在傻傻写 def 吗?
前端·python
Eddy37 分钟前
useEffect最详细的用法
前端
一枚前端小能手42 分钟前
🎨 用户等不了3秒就跑了,你这时如何是好
前端
Eddy44 分钟前
什么时候应该用useCallback
前端