Распаковка вложенных файлов в Node/Express

#javascript #express #io #zip

Вопрос:

Я пытаюсь распаковать zip — файл с несколькими zip-файлами в Node/Express-кто-нибудь знает, как это легко сделать? Я пробовал использовать пакет runzip, но мне не очень повезло.

Вот мой код:

     runzip.open("test.zip", { filter: isZip }, function(err, zipfile) {
        zipfile.on("entry", function(entry) {
            entry.openReadStream(function(err, readStream) {
                var outputDir = entry.nestedPath.join("/");
                mkdirp(outputDir);
                readStream.pipe(fs.createWriteStream(outputDir   "/"   entry.fileName));
            });
        });
    });
 

Я получаю эти ошибки:

 Error: ENOENT: no such file or directory, open '1-0.zip/dummy.txt'
Emitted 'error' event on WriteStream instance at:
    at WriteStream.onerror (_stream_readable.js:747:14)
    at WriteStream.emit (events.js:321:20)
    at internal/fs/streams.js:397:14
    at FSReqCallback.oncomplete (fs.js:154:23) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '1-0.zip/dummy.txt'
}
 

Спасибо!