【问题标题】:Can I get the Buffer from fs.createWriteStream()?我可以从 fs.createWriteStream() 获取缓冲区吗?
【发布时间】:2020-02-08 16:45:59
【问题描述】:

我有一个简单的问题 - 我可以从 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();

【问题讨论】:

    标签: node.js express archiverjs createwritestream


    【解决方案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
            })

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-31
      • 1970-01-01
      • 1970-01-01
      • 2022-04-18
      相关资源
      最近更新 更多