Native JavaScript batch download file compression package

If you want to download compressed packages in batches, you need the following three js files:

Corresponding JSZipUtils file address: jszip-utils/jszip-utils.js at master · Stuk/jszip-utils · GitHub 

Corresponding JSZip file address: jszip/jszip.js at main · Stuk/jszip · GitHub

Corresponding FileSaver file address: jszip/vendor at main · Stuk/jszip · GitHub

Corresponding to JSZip official website: How to use JSZip

Just wrap the following code in a click event:

function urlToPromise(url) {
//这里的JSZipUtils需要下载对应js
					return new Promise(function(resolve, reject) {
						JSZipUtils.getBinaryContent(url, function (err, data) {
							if(err) {
								reject(err);
							} else {
								resolve(data);
							}
						});
					});
				}
//引用JSZip函数
				var zip = new JSZip();
//定义包名称
				var img = zip.folder(ctrCheckArrs.name);
//循环遍历每个包名和包地址
				for (let i=0;i<ctrCheckArrs.fileModel.length;i++){
					img.file(ctrCheckArrs.fileModel[i].fileName, urlToPromise(ctrCheckArrs.fileModel[i].filePath), {base64: true});
				}
				zip.generateAsync({type:"blob"})
					.then(function(content) {
						// see FileSaver.js。这里是压缩包名称
						saveAs(content, ctrCheckArrs.name+".zip");
					});

Guess you like

Origin blog.csdn.net/weixin_52691965/article/details/125474418