Могу ли я получить буфер из 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
        })

Другие вопросы по тегам