使用JSZip读取zip文件内容

4
我正在上传一个zip文件夹并尝试读取其XML文件。使用JSZip函数可以读取zip文件,但无法检索XML文件的内容。
“readasText”需要一个blob对象,我试过不同的方法,但总是会出现类型错误。
  upload: function (e) {
                $("#fullPath").val(e.files[0].name);
                if ($.browser.msie == undefined || ($.browser.msie && $.browser.version < 10) == false) {
                    $("#fullPath").val(e.files[0].name);

                    var zipFile = new JSZip();
                    zipFile.loadAsync(e.files[0].rawFile)
                    .then(function(zip) {

                        var reader = new FileReader();
                        reader.readAsText(zip.files);// type error: dont know how to access the xml file 
                        reader.onloadend = function () {
                            GetValueFile(reader.result);
                        }                           
                    });                                    
                }
            }

我想将XML结果提供给GetvalueFile函数。文件对象位于zip.files中,但我无法检索它。
1个回答

6

如果有人遇到相同的问题

zip.files['test1.xml'].async("string")// gives the content of xml

它返回一个 Promise,可用于触发进一步的函数。
            .then(function(zip) {

                zip.files['test1.xml'].async("string")
                .then(function (data) {
                        GetValueFile(data);                         

                    });                                             
            }); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接