Tag: gzipstream

如何在Node.js中将一个可读的stream一次写入两个可写的stream?

目标是: 创build一个文件读取stream。 将其pipe理到gzip( zlib.createGzip() ) 然后将读取的zlib输出stream传递给: 1)HTTP response对象 2) 和可写文件stream来保存压缩的输出。 现在我可以做到3.1: var gzip = zlib.createGzip(), sourceFileStream = fs.createReadStream(sourceFilePath), targetFileStream = fs.createWriteStream(targetFilePath); response.setHeader('Content-Encoding', 'gzip'); sourceFileStream.pipe(gzip).pipe(response); …这工作正常,但我还需要将gzip压缩的数据保存到一个文件,以便我不需要每次重新压缩,并能够直接streamgzip的数据作为响应。 那么,如何在节点中将一个可读stream一次性传递到两个可写stream中? 会sourceFileStream.pipe(gzip).pipe(response).pipe(targetFileStream); 在Node 0.8.x中工作?