• html5 filereader读取流注意事项


    对于截取读入的文件,一定要new FileReader,不可写全局调用同一个reader.


    错误代码!!!
    function
    readAsBinaryString(file,callback){ readrSpt(); var part= 0,fileName=file.name, step=1024*10,start= 0, a=0,b= 0,total=file.size,loaded= 0,reader=new FileRead(),fileType=file.type;///这样写是错的,将导致reader流不在是同步读取 //$("#fileLink").attr("href",URL.createObjectURL(blob)); //将文件以arraybuffer形式读入 (function(start){ var blob=file.slice(start,start+step+1),self=arguments.callee;// console.log(blob) reader.readAsArrayBuffer(blob); reader.onprogress=function(e){ loaded+=e.loaded; var per=loaded/total; if(loaded==total){ per=100; callback(this.result,part,fileName,fileType,true); }else{ per*=100; callback(this.result,part); part++; } } reader.onload=function(e){ console.log(loaded) if(loaded<total){ self(loaded); // callback(this.result); }else{ loaded=total; } } })(start); }


    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    正确代码
    function
    readAsBinaryString(file,callback){ readrSpt(); var part= 0,fileName=file.name, step=1024*10,start= 0, a=0,b= 0,total=file.size,loaded= 0,fileType=file.type; //$("#fileLink").attr("href",URL.createObjectURL(blob)); //将文件以arraybuffer形式读入 (function(start){ var blob=file.slice(start,start+step+1),reader = new FileReader(),self=arguments.callee; // console.log(blob) reader.readAsArrayBuffer(blob); reader.onprogress=function(e){ loaded+=e.loaded; var per=loaded/total; if(loaded==total){ per=100; callback(this.result,part,fileName,fileType,true); }else{ per*=100; callback(this.result,part); part++; } } reader.onload=function(e){ console.log(loaded) if(loaded<total){ self(loaded); // callback(this.result); }else{ loaded=total; } } })(start); }
    
    
    
    
    
  • 相关阅读:
    smtp实验(生成树协议)
    结合以太通道的vlan配置
    路由器基础配置之浮动静态路由
    路由器基础配置之rip
    路由器基础配置之静态路由
    路由器基础配置之单臂路由实现vlan间通信
    交换机基础配置之三层交换机实现vlan间通信
    交换机基础配置之stp生成树实验
    交换机基础配置之结合以太通道的vlan设置
    交换机基础设置之vtp管理vlan设置
  • 原文地址:https://www.cnblogs.com/tom-chang/p/4060650.html
Copyright © 2020-2023  润新知