javascript JSZip:从文件输入中获取zip文件的内容

lvmkulzt  于 2023-05-16  发布在  Java
关注(0)|答案(2)|浏览(173)

我想用JSZip从输入中获取zip的内容。我可以读取我的文件的标题,但我如何得到的内容
我用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:[object Promise]
我该怎么做才能得到纯文本
JSFiddle:https://jsfiddle.net/jyuy7q6j/
谢谢!

bfnvny8b

bfnvny8b1#

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);
 });
});
5ssjco0h

5ssjco0h2#

我忘记了files[...].async,所以这里是我的解决方案(稍微遍历了一下文件):

var worldChars = Array.from(zip.files["world.txt"]._data.compressedContent)
var world = ""
for (var ch of worldChars) {
    world += String.fromCharCode(ch)
}

相关问题