我正在尝试压缩nodejs中的目录。我知道还有其他方法来压缩文件,但我现在仍然坚持这个。
var child = exec("zip -r " + zipFile + " " + zipDirectory, function (err, stdout, stderr) {
if (err !== null) {
console.log('error generating zip: ' + err);
}
// do some stuff with the created zip file
});
我在具有少量内存的服务器上运行它,但由于我“在nodejs之外执行一个进程”,我绝不会指望nodejs抛出ENOMEM异常。
当我的服务器尝试并压缩一个小目录时,这是有效的,但是如果它试图压缩一个包含几个视频的目录,我就会得到例外。
我试图在服务器上的命令行上运行'zip'命令。它运作得很好。
我也尝试过spawn而不是exec同样的问题。
有趣的是,exec命令几乎立即失败,即它不像它开始创建zip文件然后耗尽内存。
为什么exec需要更多内存才能获得更大的拉链?