您好,欢迎访问一九零五行业门户网

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

在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);
下面的内容你可能也喜欢:
如何在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 的下载地址:请点这里
本文永久更新链接地址:

其它类似信息

推荐信息