1

我有一个简单的问题 -我可以从 fs.createWriteStream() 获取缓冲区吗?

在我的例子中,我使用归档器NPM 模块,它可以从 Buffer 创建归档。当这个模块使用方法archive.finalize()结束工作时,我可能会从archive.pipe(stream)得到结果。我想要来自fs.createWriteStream()的缓冲区,我可以将其发送到res.send() Express 方法。

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();
4

1 回答 1

2

如果我正确理解了您的问题,那可能会对您有所帮助

        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
        })

于 2019-10-11T11:55:40.853 回答