2014-02-13 71 views
0

我使用的是从request.js到管道ReadableStream()从HTTP资源到文件系统WritableStream。什么是管一个流两股气流在node.js的最佳方式

如何修改这是能够处理内存中的内容? (针对流分析或其他)

理想的全“欺骗”分成两个真正的流,而不仅仅是一个回调“抽头”(但我会采取任何意见)。

回答

1

哈,我有一些幸运的时机:在回答我的问题,今天我们宣布:

highlandjs,新流的util库由@caolan(从async的家伙)。

这正是我需要的:http://highlandjs.org/#fork

它具有反压功能,懒评价等

0

我想首先从管通过http.req名为memory-stream模块的内容到存储器(缓冲器)。然后我创建一个可读的Buffer和管道进入文件系统。同时你可以从这个Buffer创建多个可读的管道,并将其管道化为任何可写的。

在我的一个项目中,我需要处理许多尺寸的缩略图文件,一旦我收到从浏览器上传的图像,并且我正在使用上述方法实现,将原始图像保存到缓冲区并为每个尺寸创建可读的蒸汽,使用imagemagick管道,然后管道文件系统可写入流以并行保存。

+0

我不希望在内存整个文件,而是真正的流呢。但我可以使用'memorystream',thx作为提示。 – Bartvds

+0

是的,我同意你的观点,就好像我们把文件载入内存可能是非常巨大的(在我的情况下,他们都是图片,以便应该是一个大问题)。但是当我将一个可读的管道写入多个可写时,我遇到了一个问题,其中一些可写入的内容收到了任何位。我猜这是因为一些可写的消耗很快的流。我尝试在管道前暂停可读流,然后恢复,但这造成了更多问题。所以我必须使用Buffer,它非常稳定。 –

+0

找到了解决办法,请参阅我的答案。 – Bartvds

相关问题