Excel、Word等前端文件下载
// 根据url获取blob数据下载 export function doDownload(fileUrl: string, fileName: string) { console.log('output-> fileUrl, fileName', fileUrl, fileName) fetch(fileUrl) .then(response => { // 检查响应是否成功 if (!response.ok) { throw new Error('Network response was not ok'); } return response.blob(); // 获取响应的 Blob 数据 }) .then(blob => { // 创建一个下载链接 const link:any = document.createElement('a'); const url = URL.createObjectURL(blob); // 将 Blob 数据转换为可下载的 URL link.href = url; link.download = fileName || fileUrl.split('/').pop(); // 默认使用文件名 // 触发下载 link.click(); // 清理 URL 对象 URL.revokeObjectURL(url); link.remove(); }) .catch(error => { console.error('File download failed:', error); }); } // 下载文件 export function downloadFile(url, fileName, data) { axios({ method: 'post', url, responseType: 'blob', data }).then((res) => { const blob = new Blob([res.data], { type: 'application/vnd.ms-excel;charset=utf8' }) const objectUrl = URL.createObjectURL(blob) downloadFunction(objectUrl, fileName) }) } export function downloadFunction(content, filename) { const a = document.createElement('a') a.href = content a.download = filename document.body.append(a) a.click() document.body.removeChild(a); }
Usage
//下载模板 download() { const newUrl = window.parent.document.location.origin + `${this.moduleUrl}` downloadFunction(newUrl, `${dayjs().format('YYYYMMDDHHmmss')}_测试模板.xlsx`) },
学而不思则罔,思而不学则殆!
分类:
★实用工具类
, Code Snippets★
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY