Целта е да:
- Създайте поток за четене на файл.
- Препратете го към gzip (
zlib.createGzip()
) След това насочете потока за четене на изхода на zlib към:
1) HTTP
response
обект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);
... което работи добре, но също така трябва да запазя gzipped данните във файл, така че да не се налага да regzipвам всеки път и да мога директно да предавам gzipped данните като отговор.
И така, как да препратя един четим поток към два записваеми потока едновременно в Node?
Ще работи ли sourceFileStream.pipe(gzip).pipe(response).pipe(targetFileStream);
в Node 0.8.x?