как создать zip-файл в узле, используя несколько загружаемых ссылок - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть приложение узла, которое содержит несколько загружаемых ссылок (когда вы нажимаете на ссылку, загружается файл PDF), и эти ссылки динамически создаются / заполняются. Я хочу реализовать функцию, с помощью которой мы можем каким-то образом загрузить все файлы по этим ссылкам за один go. Я полагаю, для этого мне как-то понадобится создать zip-файл из всех этих ссылок - кто-нибудь знает, как go об этом?

1 Ответ

1 голос
/ 09 апреля 2020

Вы можете использовать модуль архиватора fs и :

var fs = require('fs');
var archiver = require('archiver');
var output = fs.createWriteStream('./example.zip');
var archive = archiver('zip', {
    gzip: true,
    zlib: { level: 9 } // Sets the compression level.
});

archive.on('error', function(err) {
  throw err;
});

// pipe archive data to the output file
archive.pipe(output);

// append files
archive.file('/path/to/file0.txt', {name: 'file0-or-change-this-whatever.txt'});
archive.file('/path/to/README.md', {name: 'foobar.md'});

//
archive.finalize();
...