JSZip: получить содержимое файла в формате zip из ввода файла

Я хочу получить содержимое zip-архива из ввода с помощью JSZip. Я могу прочитать заголовок своего файла, но как мне получить содержимое

Я пробовал с jQuery:

$('.upload-input').on('change', function($event) {
 var $file = $event.target.files[0];
 JSZip.loadAsync($file).then(function($content) {
  alert($content.files["css/style.css"].async('text'));
 })
});

return: [обещание объекта]

Что я могу сделать, чтобы получить простой текст

JSFiddle: https://jsfiddle.net/jyuy7q6j/

СПАСИБО!


person howtoweb    schedule 24.10.2016    source источник


Ответы (1)


async, например loadAsync, возвращает Promise. Здесь вы можете связать их:

$('.upload-input').on('change', function($event) {
 var $file = $event.target.files[0];
 JSZip.loadAsync($file).then(function($content) {
  // if you return a promise in a "then", you will chain the two promises
  return $content.files["css/style.css"].async('text');
 }).then(function (txt) {
   alert(txt);
 });
});
person David Duponchel    schedule 25.10.2016
comment
О, очень просто :) Спасибо - person howtoweb; 29.10.2016