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');
              });
          })()
    }

 

posted @ 2023-08-15 15:29  阳光下那抹高傲的轻笑  阅读(839)  评论(0编辑  收藏  举报