Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   zlib unzip... добраться до файла (https://javascript.ru/forum/node-js-io-js/83312-zlib-unzip-dobratsya-do-fajjla.html)

voraa 14.11.2021 19:47

zlib unzip... добраться до файла
 
Про zlib я немного знаю и даже немного использовал.
Но это касалось запаковать/распаковать отдельный буфер или строку
А как распаковать zip файл с каталогами, файлами и добраться до конкретного файла в конкретном каталоге?

Ничего не нашел в документации или примерах.
Ткните меня носом, где искать.

ksa 14.11.2021 20:40

Цитата:

Сообщение от voraa
Ткните меня носом, где искать.

Вот довольно свежий видос...

https://www.youtube.com/watch?v=u9Qq8JRWa40

Если я правильно понял, там можно разархивировать все разом.
Потом только получишь доступ к папкам и каталогам.

А как читать содержимое некоего каталога и как распознать каталог/файл это уже к fs. ;)

voraa 14.11.2021 21:07

Спасибо, но немного не то.
Мне не надо писать распакованные файлы на диск.
Мне надо получить zip файл, в памяти его распаковать, добраться до нужного файла, взять оттуда данные (буквально десяток байт) и выдать их.
Все в памяти.
Писать / читать на диск слишком долго.
Вроде написано, что с adm-zip это можно, но пока не нашел, как

Aetae 14.11.2021 21:24

https://stackoverflow.com/questions/...js-zlib-module
Другими словами: хрен те из коробки. Ставь jszip и радуйся. Ну или кури спеку zip и всё ручками.

// P.S. У меня одного последнее время постинг новых сообщений тут адски тормозит?

voraa 14.11.2021 23:04

Все отлично!!!
adm-zip справляется на УРА!!!
Все делается в две строки (просто документацию надо было читать внимательно)
const zip  =  new  AdmZip (buf)
const xml =zip.readAsText('props/dateprop.xml')

и в xml получаем строку с текстом нужного файла.


Часовой пояс GMT +3, время: 05:00.