Tag: zipstream

在Node.js中,fs.createFileStream生成的stream在另一个stream被读取到结尾之后是不可读的

我正在使用node-zipstream在node.js中创buildZIP文件。 我已经创build了一个简单的包装来创build一个同步API的错觉,当添加stream到ZIP(包含在下面的代码中)。 当使用请求stream时,一切都按预期工作,但是当我使用文件stream时,第一个stream完成后第二个stream变得不可读。 var zipstream = require('zipstream'); var fs = require('fs'); function ZipQueue(out, options) { var zip = zipstream.createZip(options); zip.pipe(out); var queue = new Array(); this.addFile = function(readStream, options) { queue.push({stream: readStream, options: options}); } this.runQueue = function(cb) { for(var element in queue) { queue[element].stream.on('error', function(err) { console.dir(err); }) } function run() { i++; if […]

nodejs将数据附加到readstream的末尾

我想读一个.txt文件,将数据追加到最后,最后发送给zipstream。 现在我正在做的是写一个新的文件,然后使用新的文件的zipstream,但我想在飞行,而不创build一个不必要的新文件。 我的问题是如何创build一个读取stream,修改它并发送到另一个读取stream(可能与中间的写入stream)。 这可能吗? 原来的想法是这个,但我迷失在中间的某个地方: var zipstream = require('zipstream'); var Stream = require('stream'); var zipOut = fs.createWriteStream('file.zip'); var zip = zipstream.createZip({ level : 1 }); zip.pipe(zipOut); var rs = fs.createReadStream('file.txt'); var newRs = new Stream(); // << Here should be an in/out stream?? newRs.pipe = function(dest) { dest.write(rs.read()); dest.write("New text at the end"); }; zip.addEntry(newRs, […]

从一个文件夹创build一个zip档案并用Node.js保存结构

我试图使用Node.js从现有的文件夹创build一个zip文件,并保留该结构。 我希望能有一个简单的模块来允许这样的事情: archiver.create("../folder", function(zipFile){ console.log('et viola'); }); 但我找不到这样的东西! 我一直在googlesearch,到目前为止我发现的最好的是zipstream,但据我所知,没有办法做我想要的。 我真的不想打入命令行工具,因为应用程序必须是跨平台的。 任何帮助将不胜感激。 谢谢。