समाधान मैं उपयोग कर रहा हूँ (मैं यह करने के लिए एक बेहतर तरीका नहीं है) है:
var contenido1 = 'contenido super secreto';
var contenido2 = 'otro contenido';
var password = 'pass';
var nombreFichero = 'fichero'
var nodezip = new require('node-zip')();
var fs = require("fs");
nodezip.file('test1.txt', contenido1);
nodezip.file('test2.txt', contenido2);
var data = nodezip.generate({base64:false,compression:'DEFLATE'});
fs.writeFile(nombreFichero + '.zip', data, 'binary');
var exec = require('child_process').exec,
child;
child = exec('unzip ' + nombreFichero + '.zip -d ' + nombreFichero +
' && zip -junk-paths --password ' + password + ' ' + nombreFichero + '-p.zip ' + nombreFichero + '/*' +
' && rm -rf ' + nombreFichero + ' && rm -f ' + nombreFichero + '.zip',
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
यह एक अस्थायी ज़िप फ़ाइल (पासवर्ड के बिना) उत्पन्न करता है, और फिर कई आदेशों के साथ, upzip, पासवर्ड के साथ ज़िप और अस्थायी फ़ाइलों को हटा दें।
Google "ज़िप नोड जेएस बनाएं"? Http://stackoverflow.com/questions/5754153/zip-archives-in-node-js का प्रयास करें, पहले लिंक को पढ़ने के बाद ऐसा लगता है कि कमांड लाइन टूल को घुमाने का तरीका है। –