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