comment faire pour convertir plusieurs fichiers en fichier zip compressé à l'aide de node js

Je veux convertir plusieurs fichiers en un fichier compressé zip sur node.js.

J'ai essayé le code suivant:

var archiver = require('archiver');
var fs = require('fs');
var StringStream = require('string-stream');

http.createServer(function(request, response) {
    var dl = archiver('data');
    dl.pipe(response);
    dl.append(new fs.createReadStream('test/fixtures/test.txt'), {
        name: 'stream.txt', date: testDate2
    });
    dl.append(new StringStream("Ooh dynamic stuff!"), {
        name : 'YoDog/dynamic.txt'
    });
    dl.finalize(function(err) {
        if (err)
            res.send(200000)
    });
}).listen(3500);
  • je ne reçois pas de code ci-dessus ainsi les pls me dire des exemples qui sont convivial pour comprendre
  • Jetez un oeil cet exemple. Il fonctionne pour moi.
  • est-ce code va permettre de plusieurs fichiers zip et ceux?
  • Il va compresser plusieurs fichiers dans un .zip, oui.
  • salut mutil avoir de doute dans l'exemple dans le lien ci-dessus je me force à comprendre ce qui est example-output.zip dans le var output = fs.createWriteStream(__dirname + '/example-output.zip'); pls m'expliquer si possible
  • et prise en erreur ENOENT application s'est écrasé en attente pour les modifications de fichiers avant de commencer
  • example-output.zip est le nom du fichier zip que vous obtiendrez après la compression. ENOENT erreur signifie que les fichiers spécifiés (fixtures/file1.txt & fixtures/file2.txt) n'ont pas été trouvés. Changement var file1 et var file2 pour le chemin d'accès des fichiers que vous souhaitez compresser.
  • mutil avait obtenu le fichier zip je vous remercie encore d'avoir un doute
  • si j'utilise __dirname + "nom de fichier", il montre à chemin d'accès au répertoire et j'ai besoin de mettre ces fichiers à un chemin spécifique mais je ne veux pas faire ce que je veux le donner le chemin dirictly