2017-01-25 6 views
0

Я загружаю zip-папку и пытаюсь прочитать ее XML-файл. Функция может читать zip с помощью JSZip, но не может получить содержимое XML-файла.Чтение содержимого zip с помощью JSZip

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, но я не могу retrive его.

ответ

2

Для тех, кто может иметь такую ​​же проблему

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

Он возвращает обещание, которое может быть использовано для запуска дополнительных функций

  .then(function(zip) { 

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

        });            
      });