0

JSZip を使用して、複数のファイルを含む zip を生成しています。データは JSON 形式でサーバーから送信されます。複数のファイルではなく、for ループ内で 2 つのファイルしか取得していません。JSON の配列のサイズは 2 を超えるため、2 つだけでなく複数のファイルが必要です。

var zip = new JSZip();
var root = data.list.dataList;
var length = root.length;
var i;
for(i = 0; i < length; i++){                                                    
    var aFileName = "a_"+ root[i].type + "_" + root[i].orderNumber + ".xml";//just the name of the file                         
    var aContent = root[i].content; //content of file                               

    var bFileName = "b_"+ root[i].type + "_" + root[i].orderNumber + ".xml";//just the name of the file         
    var bContent = root[i].content; //content of file   

    //put files onto a folder
    zip.folder("Folder Name").file(aFileName, aContent).file(bFileName, bContent); 
}
//generate the zip with all files
var content = zip.generate();
location.href="data:application/zip;base64," + content;     

このコードは最後の反復のコンテンツのみを取得するため、誰かが代替案を提案できますか。これが、複数のファイルではなく 2 つのファイルしか取得できない理由です。

4

2 に答える 2

-1

プラグインを試してみてください: http://gildas-lormeau.github.io/zip.js/ そうでない場合は、ループをラップしてみてください

try
{

}
catch (ex)
{
console.log(ex.message);
}

そして、彼がいくつかのエラーをスローするかどうかを見てください

于 2014-09-24T18:45:57.237 に答える