传统的服务器模型中,如果要返回一张本地图片给客户端,需要先读取该图片文件,再发送给客户端。
而用nodejs则可以通过管道,将读文件的输入流和发送给客户端的输出流拼接起来,使得服务端无需做过多的处理就能实现数据的边取边处理,提高了服务器的效率。
实例如下,一个简单的HTTP服务器,对任何请求都是返回一张图片。
var http = require("http");
var fs = require("fs");
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'image/png'});
fs.createReadStream('./image.jpg').pipe(res);
}).listen(3000);
console.log('Server is running at http://localhost:3000/');