javascript - 在 node.js 中生成受密码保护的 ZIP 文件

标签 javascript node.js zip password-protection

我需要在 node.js 中创建一个受密码保护的 ZIP 文件。

我正在使用“node-zip”模块,不幸的是它不支持密码保护:

var zip = new require('node-zip')();
zip.file('test.file', 'hello there');
var data = zip.generate({base64:false,compression:'DEFLATE'});

寻找其他 Node 模块来创建 ZIP 文件,我还没有找到任何支持密码保护的模块。

最佳答案

如果您在 Linux 上工作,那么您可以借助 zip(大多数 Linux 发行版中的命令行实用程序)来完成。只需在您的应用中包含以下内容即可。

spawn = require('child_process').spawn;
zip = spawn('zip',['-P', 'password' , 'archive.zip', 'complete path to archive file']);
zip .on('exit', function(code) {
...// Do something with zipfile archive.zip
...// which will be in same location as file/folder given
});

如果你想压缩一个文件夹,只需在文件夹路径而不是文件路径之前放置另一个参数“-r”。

请记住,这会从主进程中产生单独的线程,因此它是非阻塞的。有关 child_process 的更多信息,请查看此处 http://nodejs.org/api/child_process.html

关于javascript - 在 node.js 中生成受密码保护的 ZIP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14829782/

相关文章:

JavaScript 抛出未定义的错误

javascript - 将多组参数分配给 jQuery 函数

javascript - 将 JSON 传递给 MVC Controller ?

arrays - MongoDB/NodeJS : Looping through query parameter

linux - 递归地压缩文件夹,保存给定的子文件夹(Linux)

使用 7zip 的 C# 归档,一直卡在通配符调用上

javascript - 利用现有代码使选项卡处于事件状态

javascript - Nodejs,需要函数内或脚本顶部的模块。哪个更适合自定义模块?

Node.js "Server listening on port 3000",但我无法在浏览器中查看它?

javascript - Nodejs 和更新 zip 存档中的文件