我有一个简单的问题-我可以从fs.createWriteStream()获取缓冲区吗?
在我的情况下,我使用 archiver NPM模块,它可能会从Buffer创建档案。当该模块使用方法 archive.finalize()结束时,我可能会从 archive.pipe(stream)获得结果。我想从 fs.createWriteStream()中获得 Buffer ,我可以将其发送到 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();
谢谢您的回答!非常抱歉英语不好。
答案 0 :(得分:0)
如果我正确理解了您的问题,可能会对您有所帮助
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
})