Jak potraktować jeden czytelny strumień w dwóch strumieniach zapisywalnych jednocześnie w Node.js?

Celem jest:

Utwórz strumień odczytu pliku.Przewiń go do gzipa (zlib.createGzip())

Następnie potokuj strumień wyjściowy zlib na:

1) HTTPresponse obiekt

2)i zapisywalny strumień plików, aby zapisać spakowane dane wyjściowe.

Teraz mogę zrobić do 3.1:

var gzip = zlib.createGzip(),
    sourceFileStream = fs.createReadStream(sourceFilePath),
    targetFileStream = fs.createWriteStream(targetFilePath);

response.setHeader('Content-Encoding', 'gzip');

sourceFileStream.pipe(gzip).pipe(response);

... która działa dobrze, ale muszę teżzapisz spakowane dane do pliku tak, że nie muszę za każdym razem zapisywać ponownie i móc bezpośrednio przesyłać strumieniowo dane gzip jako odpowiedź.

Jak więc potokować jeden czytelny strumień na dwa zapisywalne strumienie jednocześnie w węźle?

BysourceFileStream.pipe(gzip).pipe(response).pipe(targetFileStream); działa w węźle 0.8.x?

questionAnswers(2)

yourAnswerToTheQuestion