vue通过Blob实现下载文件


需求是这样的......

具体实现,前端拿到后端返回回来的数据,然后通过Blob实现下载,文件内容样式啥的都是后端写的

script代码:

这里的data就是后端返回回来的数据,此方法兼容IE

 1 download(data) {
 2       if (!data) {
 3         return;
 4       }
 5       let blob = new Blob([data], {
 6         type:
 7           "application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8"
 8       });
 9       let url = window.URL.createObjectURL(blob);
10       let fileName = this.data.plan_no + "出团通知单.docx";
11       if ("download" in document.createElement("a")) {
12         const a = document.createElement("a");
13         a.href = url;
14         a.download = fileName;
15         a.style.display = "none";
16         document.body.appendChild(a);
17         a.click();
18         URL.revokeObjectURL(a.href);
19         document.body.removeChild(a);
20       } else {
21         navigator.msSaveBlob(blob, fileName);
22       }
23     }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM