我需要在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'});
Run Code Online (Sandbox Code Playgroud)
查看其他节点模块以创建ZIP文件,我还没有找到任何支持密码保护.
我正在制作一个应用程序,您可以在其中编辑文件,它应该将编辑后的文件附加到 zip 存档中并使其可下载。它应该是跨平台的(Windows 和 Linux)。
我的目标是以编程方式生成编辑过的文件并将其附加到静态存档(始终相同,大约 3-4MB,但大约 40-50 个文件)。
我查看了以下有关如何在 node.js 中压缩档案的帖子,但是Eliseo Soto的答案取决于操作系统。
我还找到了daraosn/ node-zip,但据我所知,它无法在不重新制作的情况下将文件附加到存档中。
关于如何在不为每个请求从头开始重建整个档案的情况下完成我的目标的任何建议?
我想将多个文件转换为node.js上的压缩zip文件.
我尝试了以下代码:
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);
Run Code Online (Sandbox Code Playgroud)