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

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

想要实现批量下载压缩包需要有以下三个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

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

  1. function urlToPromise(url) {
  2. //这里的JSZipUtils需要下载对应js
  3. return new Promise(function(resolve, reject) {
  4. JSZipUtils.getBinaryContent(url, function (err, data) {
  5. if(err) {
  6. reject(err);
  7. } else {
  8. resolve(data);
  9. }
  10. });
  11. });
  12. }
  13. //引用JSZip函数
  14. var zip = new JSZip();
  15. //定义包名称
  16. var img = zip.folder(ctrCheckArrs.name);
  17. //循环遍历每个包名和包地址
  18. for (let i=0;i<ctrCheckArrs.fileModel.length;i++){
  19. img.file(ctrCheckArrs.fileModel[i].fileName, urlToPromise(ctrCheckArrs.fileModel[i].filePath), {base64: true});
  20. }
  21. zip.generateAsync({type:"blob"})
  22. .then(function(content) {
  23. // see FileSaver.js。这里是压缩包名称
  24. saveAs(content, ctrCheckArrs.name+".zip");
  25. });

相关文章

最新文章

更多