本文主要是介绍JSzip 前端处理下载打包文件夹,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
// 将文件夹里的文件作为数组传进来filesToRar(files) {this.fileCount = files.lengththis.zippedFileCount = 0let zip = new JSZip();this.zipDir(zip, files, zip);},// 循环下载数组中的每个文件zipDir(zip, files, packageZip) {for (let i = 0; i < files.length; i++) {let item = files[i];this.zipFile(zip, item, packageZip);}},async zipFile(zip, file, packageZip) {let res = await axios({method: 'get',url: file.downloadUrl,responseType: 'blob',timeout: 4 * 60 * 60 * 1000,onDownloadProgress:(event)=> {}});if(res && res.data) {zip.file(file.name, res.data);this.zippedFileCount++}// 所有文件都下载之后,进行打包下载if (this.fileCount === this.zippedFileCount) {// 把打包内容异步转成blob二进制格式packageZip.generateAsync({ type: "blob" }, function updateCallback(metadata){console.log(metadata.percent.toFixed(2));}).then((content) => {saveAs(content, this.floderdown.customName);}).catch((res)=>{// this.downloadMsg= "压缩失败"});}}
这篇关于JSzip 前端处理下载打包文件夹的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!