Javascript 将多个文件传输到一个响应
我正试图写两个文件和一些更多的文字来回应。 但是,下面的代码只返回第一个文件和“仅此而已!”文本Javascript 将多个文件传输到一个响应,javascript,node.js,stream,pipe,Javascript,Node.js,Stream,Pipe,我正试图写两个文件和一些更多的文字来回应。 但是,下面的代码只返回第一个文件和“仅此而已!”文本 您需要的是一个双工流,它将数据从一个流传递到另一个流 stream.pipe(duplexStream).pipe(stream2).pipe(res); 在上面的示例中,第一个管道将所有数据从stream写入duplexStream,然后将数据从duplexStream写入stream2,最后stream2将数据写入res可写流 这是write方法的一个可能实现示例 DuplexStream.w
您需要的是一个双工流,它将数据从一个流传递到另一个流
stream.pipe(duplexStream).pipe(stream2).pipe(res);
在上面的示例中,第一个管道将所有数据从stream
写入duplexStream
,然后将数据从duplexStream
写入stream2
,最后stream2
将数据写入res
可写流
这是write方法的一个可能实现示例
DuplexStream.write = function(chunk, encoding, done) {
this.push(chunk);
}
您可以使用stream它是一个非常基本的节点模块(不使用依赖项)
DuplexStream.write = function(chunk, encoding, done) {
this.push(chunk);
}
var ss = require('stream-stream');
var fs = require('fs');
var files = ['one.html', 'two.html'];
var stream = ss();
files.forEach(function(f) {
stream.write(fs.createReadStream(f));
});
stream.end();
res.writeHead(200, {'Content-Type' : 'text/plain'});
stream.pipe(res, { end:false});