js将多文件打包成zip下载
我们在项目中安装相关依赖
npm install jszip file-saver --save
创建一个js文件,并引入依赖
import JSZip from 'jszip' import FileSaver from 'file-saver'
开始调用
DownLoad () { this.MP3Arry = ['http://192.168.0.203:7700/static/16.mp3','http://192.168.0.203:7700/static/16.mp3']; (async () => { // 初始化一个zip打包对象 const zip = new JSZip(); // 创建一个名为录音文件的新的文件目录 const folder = zip.folder('录音文件'); for (let i = 0; i < this.MP3Arry.length; i++) { const blob = await fetch(this.MP3Arry[i]).then(response => response.blob()) // 文件夹添加资源,图片也支持base64类型 {base64: true} folder.file(this.MP3Arry[i].substring(this.MP3Arry[i].lastIndexOf('/')+1) , blob, { Blob: true }); } // 请求远程资源的blob,其他文件,比如视频、表格等也是一样的 // 把打包内容异步转成blob二进制格式 zip.generateAsync({ type: "blob" }).then((content) => { // 下载压缩包 saveAs(content, '录音文件.zip'); }); })() }