node.js中fs.createReadStream与fs.readFile的优缺点是什么?

node.js中fs.createReadStream与fs.readFile的优缺点是什么?,第1张

node.js中fs.createReadStream与fs.readFile的优缺点是什么?

如果您只是将“数据”连接到“ write()”,将“关闭”连接到“ end()”,则是一种更好的方法:

// 0.3.x stylefs.createReadStream(filename, {  'bufferSize': 4 * 1024}).pipe(response)// 0.2.x stylesys.pump(fs.createReadStream(filename, {  'bufferSize': 4 * 1024}), response)

read.pipe(write)
或”
sys.pump(read,write)
方法的好处还在于增加了流量控制。因此,如果写入流不能尽快接受数据,它将通知读取流回退,以最大程度地减少缓冲在内存中的数据量。

flags:"r"
mode:0666
由事实,这是一个暗示
FileReadStream
。该
binary
编码已过时-
如果没有指定编码,它会刚刚与原始数据缓冲区的工作。

此外,您还可以添加其他一些功能,使您的文件更加流畅:

  1. 嗅探
    req.headers.range
    并查看它是否匹配字符串
    /bytes=([0-9]+)-([0-9]+)/
    。如果是这样,您只想从该起点到终点流。(缺少数字表示0或“结尾”。)
  2. 将stat()调用中的inode和创建时间散列到ETag头中。如果您收到的请求标头具有“ if-none-match”匹配的标头,请发送回
    304 Not Modified
  3. 根据stat对象上的日期检查
    if-modified-since
    标题
    mtime
    。304(如果自提供日期以来未进行过修改)。

另外,通常,如果可以的话,发送

Content-Length
标题。(您正在
stat
-ing文件,因此您应该拥有此文件。)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4988656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存