欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Node以数据块的形式读取文件

程序员文章站 2022-03-15 18:01:38
...

在Node中,http响应头信息中Transfer-Encoding默认是chunked。这种发送数据块的方式在涉及到io操作的情况下非常高效。Node允许以

在Node中,http响应头信息中Transfer-Encoding默认是chunked。

Transfer-Encoding:chunked

  Node天生的异步机制,让响应可以逐步产生。

  这种发送数据块的方式在涉及到io操作的情况下非常高效。Node允许以数据块的形式往响应中写数据,也允许以数据块的形式读取文件。

  这样可以有高效的内存分配,不需要把文件全部读取到内存中再全部响应给客户,在处理大量请求时可以节省内存。

var http = require('http');
var fs = require('fs');

http.createServer(function(req,res){
res.writeHead(200,{'Context-Type':'image/png'});

var imagePath = 'D:/home.png';

var stream = fs.createReadStream(imagePath);

//一块一块的读取数据
stream.on('data',function(chunk){
res.write(chunk);
});

stream.on('end',function(){
res.end();
});

stream.on('error',function(){
res.end();
});
}).listen(3000);

  Node还提供了一个更简洁的方法pipe()

var http = require('http');
var fs = require('fs');

http.createServer(function(req,res){
res.writeHead(200,{'Context-Type':'image/png'});

var imagePath = 'D:/home.png';

var stream = fs.createReadStream(imagePath);
stream.pipe(res);

}).listen(3000);

Node以数据块的形式读取文件

下面的内容你可能也喜欢:

如何在CentOS 7安装Node.js

Ubuntu 14.04下搭建Node.js开发环境

Ubunru 12.04 下Node.js开发环境的安装配置

Node.Js入门[PDF+相关代码]

Node.js开发指南 高清PDF中文版 +源码

Node.js入门开发指南中文版

Ubuntu 编译安装Node.js

Node.js 的详细介绍:请点这里
Node.js 的下载地址:请点这里

本文永久更新链接地址