Я хочу обновить файл внутри zip архива с помощью nodejs. Для примера у меня есть zip архив с несколькими вложенными файлами. И мне нужно либо добавить туда еще один файл или обновить какой то из них.
a.zip
|-a.txt
|-b.txt
Я использую archiver:
var archiver = require('archiver');
var archive = archiver('zip', {});
archive.pipe(fs.createWriteStream('./a.zip'));
archive.append(fs.createReadStream('./c.txt'), { name: 't.txt' });
archive.finalize();
Но содержимое архива просто перетирается и все, и в результате остается:
a.zip
|-t.txt
Если использовать:
archive.file('./a.txt', { name: 't.txt' });
То результат тот же самый. А хотелось бы получить:
a.zip
|-a.txt
|-b.txt
|-t.txt
А еще лучше обновить содержимое одного из файлов a.txt или b.txt.
Продвижение своими сайтами как стратегия роста и независимости