Распакуйте один файл из zip-архива с помощью node.js модуль zlib

#node.js #zlib #unzip

Вопрос:

Допустим, у меня есть zip-архив test.zip , который содержал два файла:

test1.txt и text2.txt

Я хочу извлечь только test1.txt с помощью встроенного модуля узла zlib .

Как это сделать?

Я не хочу устанавливать какой-либо пакет.

Ответ №1:

Вы можете запустить команду оболочки для распаковки, предполагая, что распаковка установлена в вашей системе. (Весьма вероятно, что так оно и есть.)

Насколько я могу судить, внутри нет функции zip node.js без установки пакета.

Вы можете использовать zlib, чтобы помочь вам с частью декомпрессии, но вам придется написать свой собственный код для интерпретации формата zip. Вы можете использовать zlib.inflateRaw для распаковки необработанных сдутых сжатых данных записи zip. Сначала вы должны найти, где начинаются эти сжатые данные, прочитав и интерпретировав заголовки zip-файлов.

Формат zip задокументирован здесь.