我需要在 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/