原生JavaScript批量下载文件压缩包

x33g5p2x  于2022-06-27 转载在 Java  
字(0.8k)|赞(0)|评价(0)|浏览(585)

想要实现批量下载压缩包需要有以下三个js文件

对应JSZipUtils文件地址:jszip-utils/jszip-utils.js at master · Stuk/jszip-utils · GitHub 

对应JSZip文件地址:jszip/jszip.js at main · Stuk/jszip · GitHub

对应FileSaver文件地址:jszip/vendor at main · Stuk/jszip · GitHub

对应JSZip官网:How to use JSZip

把下方代码包裹在一个点击事件下即可:

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");
					});

相关文章

最新文章

更多