1. 安装 npm 包:
jszip 及 file-saver
2.
let i = 1 let promises = [] let zip = new JSZip(); const _this = this; msg.forEach(item => { const promise = getFile(item).then(data => { // 下载文件, 并存成ArrayBuffer对象 const arr_name = item.split("/") // stringObject.split 将字符串分割成字符串数组 const file_name = arr_name[arr_name.length - 1] // 获取文件名(数组最后一项) console.log("压缩data", data) zip.file('产品推送' + i + '.png', data, { binary: true }) // 逐个添加文件 i++ }) promises.push(promise) }) Promise.all(promises).then(() => { console.log("压缩包", zip) zip.generateAsync({type:"blob"}).then(content => { // 生成二进制流 // 利用file-saver保存文件 _this.fileTableTitle是我压缩包名字 FileSaver.saveAs(content, info.split('.')[0] + ".zip") }) })