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 つのファイルしか取得できない理由です。