为多个文件制作Zip文件并下载花费了太多时间(大文件1GB)

时间:2019-08-21 06:01:55

标签: amazon-s3 zipfile jszip

使用JSZip库,制作Zip并下载多个文件需要花费太多时间。 makeZipTest(data,fileName)中的参数“ data”仅是下载S3 URL。

function makeZipTest(data,fileName){
    var length = data.length;
    var count = 0;
    data.forEach(function(url){
          // loading a file and add it in a zip file
     zip.file(fileName[count],  
              urlToPromise(url), 
             {binary:true});
     count++;
     if (count == length) {
        zip.generateAsync({type:"blob"})
         .then(function (blob) {
              saveAs(blob, "TestZip.zip");
              }, function (err) {
              });
     }
        });

}
function urlToPromise(url) {
    return new Promise(function(resolve, reject) {
        JSZipUtils.getBinaryContent(url, function (err, data) {
            if(err) {
                reject(err);
            } else {
                console.log(data);
                resolve(data);
            }
        });
    });
}

0 个答案:

没有答案