Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在Node.js中一次将一个可读流管理成两个可写流?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目标是:

>创建文件读取流。
>将其管理为gzip(zlib.createGzip())
>然后将zlib输出的读取流管理到:

1)http响应对象

2)和可写文件流,以保存gzipped的输出

现在我可以做到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压缩的数据保存到一个文件中,这样我就不需要每次都重新编译,并且可以直接将gzip压缩的数据作为响应流。

那么如何在Node中一次将一个可读流管理成两个可写入流?

sourceFileStream.pipe(gzip).pipe(responsE).pipe(targetFileStream);在Node 0.8.x中工作?

解决方法

管道链接/拆分不像您在这里做的那样工作,将第一个发送到两个不同的后续步骤:

sourceFileStream.pipe(gzip的).pipe(响应);

但是,您可以将相同的可读流传输到两个可写入流中,例如:

var fs = require('fs');

var source = fs.createReadStream('source.txt');
var dest1 = fs.createWriteStream('dest1.txt');
var dest2 = fs.createWriteStream('dest2.txt');

source.pipe(dest1);
source.pipe(dest2);

大佬总结

以上是大佬教程为你收集整理的如何在Node.js中一次将一个可读流管理成两个可写流?全部内容,希望文章能够帮你解决如何在Node.js中一次将一个可读流管理成两个可写流?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。