2014-02-13 106 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

相關問題