gpt4 book ai didi

node.js - NodeJS ReadStream 一次不读取 bufferSize 字节

转载 作者:搜寻专家 更新时间:2023-10-31 23:43:46 25 4
gpt4 key购买 nike

我有一段代码,其中 NodeJS 服务器读取文件并将其流式传输以响应,它看起来像:

var fStream = fs.createReadStream(filePath, {'bufferSize': 128 * 1024});
fStream.pipe(response);

问题是,Node 每次准确读取文件 40960 字节。但是,如果一次读取 131072 (128 * 1024) 字节,我的应用程序会更有效率(由于不适用于此问题的原因)。

有没有办法强制 Node 一次读取 128 * 1024 字节?

最佳答案

接受的答案是错误的。您可以使用 highWaterMark 选项强制 Node 一次读取 (128*1024) 个字节。

var fStream = fs.createReadStream('/foo/bar', { highWaterMark: 128 * 1024 });

Documentation特别指出,可能缓冲的数据量取决于传递给流构造函数的 highWaterMark 选项。对于普通流,highWaterMark 选项指定总字节数。对于以对象模式运行的流,highWaterMark 指定了对象总数。'

另请参阅 this .默认缓冲区大小为 64 KB

关于node.js - NodeJS ReadStream 一次不读取 bufferSize 字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11784172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com