web端下载文件,后端已文件流返回,如何实现?
1、先转换成blob
2、创建 a 标签
3、通过 URL 的 createObjectURL 方法创建下载链接
4、把 a 标签增加到当前页
5、调用 click 方法
6、删除 a 节点
7、销毁url对象
上代码 ( 其中 有用到 antd Message 组件)
1 import { Message } from "ant-design-vue"; 2 export function exportFile(data, fileName, dialogName) { 3 let blob = new Blob([data], { 4 type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" //application/vnd.ms-excel 5 }); 6 if (blob.size > 0) { 7 let objectUrl = URL.createObjectURL(blob); //创建url对象 8 let link = document.createElement("a"); 9 link.style.display = "none"; 10 link.href = objectUrl; 11 link.download = fileName + ".xlsx"; //下载后文件名 12 document.body.appendChild(link); 13 link.click(); 14 document.body.removeChild(link); 15 URL.revokeObjectURL(link.href); //销毁url对象 16 } 17 Message.success({ 18 content: "导出成功!", 19 key: dialogName || "exportStatistics", 20 duration: 2 21 }); 22 }
作者:胡倩倩0903
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
分类:
js
posted on 2021-01-14 11:32 kitty20180903suzhou 阅读(301) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY