Могу ли я получить буфер из fs.createWriteStream()?
У меня простой вопрос - могу ли я получить буфер из fs.createWriteStream()?
В моем случае я использую модуль NPM архиватора, который может создавать архивы из буфера. Когда этот модуль завершит работу с методом archive.finalize(), я могу получить результат от archive.pipe (stream). Я хочу иметь буфер из fs.createWriteStream (), который я могу отправить в экспресс-метод res.send ().
let archive = archiver("zip", {
zlib: { level: 9 } // Sets the compression level.
});
const stream = fs.createWriteStream(
"./src/backend/api/test.zip"
);
archive.pipe(stream);
archive.append(buffer, { name: "test.csv" });
archive.finalize();
1 ответ
Если я правильно понял вашу проблему, это может вам помочь
const stream = fs.createWriteStream(
"./src/backend/api/test.zip"
);
stream.on('data', (chunk) => {
//here u get every chunk as a buffer
})
stream.on('finish', () => {
//here your code if the stream is ending
})