首页 / 数据库 / MySQL / 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);下面的内容你可能也喜欢:如何在CentOS 7安装Node.js http://www.linuxidc.com/Linux/2015-02/113554.htmUbuntu 14.04下搭建Node.js开发环境 http://www.linuxidc.com/Linux/2014-12/110983.htmUbunru 12.04 下Node.js开发环境的安装配置 http://www.linuxidc.com/Linux/2014-05/101418.htmNode.Js入门[PDF+相关代码] http://www.linuxidc.com/Linux/2013-06/85462.htmNode.js开发指南 高清PDF中文版 +源码 http://www.linuxidc.com/Linux/2014-09/106494.htmNode.js入门开发指南中文版 http://www.linuxidc.com/Linux/2012-11/73363.htmUbuntu 编译安装Node.js http://www.linuxidc.com/Linux/2013-10/91321.htmNode.js 的详细介绍:请点这里
Node.js 的下载地址:请点这里本文永久更新链接地址