ins = fs.createReadStream(file.path);
ous = fs.createWriteStream(path);
ins.pipe(ous); 这个pipe过程中,如何取到已经读取文件流的大小呢 我要用滚动条
是进度条,汗。。。标题写错了。
ins.on("data",function(data){ console.log(data.length);//然后每次的最大值是65536,当还有数据在读取的时候,它会不断的读取 })
然后var pipe_count = file.size/65536; var pipe_count_flag ; var bai_yi = ""; var c = 0; if(pipe_count<=100){ pipe_count_flag = false; }else{ pipe_count_flag = true; bai_yi = ceil(pipe_count/100); }
ins.on("data",function(data){ if(data.length<65536){ return false; } if(!pipe_count_flag){ //这里用的socket.emit的写法,简单的可以用user_id+new Date()或者随机数,然后不断的发送回去读取的流,加在一起,再控制进度条的宽度就ok了!(emit的懒得没写全,大概就是这么个意思。) //soc.emit("uploadprogress",{progress_size: "65536"}); }else{ c++; if(c%bai_yi==0){ //soc.emit("uploadprogress",{progress_size: 65536*bai_yi}); } } });