从 JSzip 对象文件夹中读取所有文件并迭代

Reading all files from a JSzip object folder and iterate

我有一个代码,用于生成其中包含图像的压缩文件。

var zip = new JSZip(result.templateEncoded, {base64: true});

压缩后的文件结构如下所示:

{ "files":
        {
          "test/rel":{
                      "name":"xxx.txt"
                     },
          "test/doc.xml":{
                         "name":"kajdadnkan"
                         },
          "test/media/image1.jpeg":{
                                   "name": "word/media/image1.jpeg"
                                   },
          "test/media/image1.jpeg":{
                                   "name": "word/media/image2.jpeg"
                                   }
        }
}

现在我想访问"test/media"下的所有图片。当我尝试 zip.folder('word/media/');它创建一个新文件夹并将根路径设置为 'word/media/'

也尝试了下面的代码,但它抛出 JS 错误 forEach() is not supported function。

zip.folder('word').forEach(function (relativePath, file){
                            console.log("iterating over..", relativePath);
                        });

基本上,我想提取所有媒体文件并将它们重命名为 .png。 我在这里的曝光率不高,非常感谢您的帮助。

 var contentTypesettings = zip.files["test/media"].asText();
var CTXMLDoc = $.parseXML(contentTypesettings);
$(CTXMLDoc).find('Default').each(function() {
    $.each(this.attributes, function(i, attrib) {
        var attrName = attrib.name;
        var attrValue = attrib.value;
     });