由于node.js 创建http 是这样的
http.createServer(function(request,response){}).listen(2000);
里面的request 就是reader stream
response 就是write stream
写个网站的都知道request 和response的区别
懂点http的就知道
当上传一个文件的时候,
是把字节上传上去的. 有时候,写限制下载.就是读取流的时候限制下而已
readstream 会触发2个事件
一个是接收流的事件 data
一个是接收完毕后的事件 end
so
写一个上传文件夹的事例,丙得到上传进度
var http=require('http'); var fs = require('fs'); http.createServer(function(request,response){ //把读取的内容,写到文件里面.注意权限问题 var newfile = fs.createWriteStream("D:abc.md"); //获取上传文件的大小 var fileBytes = request.headers["content-length"]; var uploadedByte=0; request.pipe(newfile); request.on('data',function(chunk){ //递增.累加 uploadedByte+=chunk.length; var progress=(uploadedByte/fileBytes)*100; response.write("progress:"+parseInt(progress,10)+"%n"); console.log(parseInt(progress,10)+"%n");//事实输出进度.方便看 }); request.on('end',function(){ response.write("over"); response.end(); }); }).listen(3000);
可以看到.进度输出.
那么怎么测试呢
上传,其实也就是post.直接用fiddle.就行了
当执行的时候.会把状态输出出来
待续! 总觉得有点问题..
]]>