bolb与FileReader使用笔记

bolb 、Int8Array、ArrayBuffer为h5在处理文件、视频、音频等二进制流数据新增底层数据转换处理类型。

bolb格式

在实际使用中生成类似数组的对象,只是承载的是文件流。

FileReader

说明制定FileReader继承流bolb格式,但是其this.result其实是文件流base64格式,是真实文件。

URL.createObjectURL 、revokeObjectURL

传入bolb或file,转成字符串,指向内存中bolb或file地址,浏览器关闭后自动释放。

使用fileReader读取文件并通过bolb格式展示demo,将一个文件或者图片分片展示

  let file = document.querySelector("#file");
       file.addEventListener("change",function(ev){
  let tar = ev.target.files[0];
  let files = new FileReader();
       files.readAsArrayBuffer(tar);
       files.onload=function(){
       let block =Math.ceil(this.result.byteLength/1024);  //切割x段
       let i = 0, th = this;
       let show = ()=>{
             setTimeout(a=>{
                                     let bolb = new Blob([th.result.slice(0,i*1024+1024)]);//每次添加一个片段
                                    let url = URL.createObjectURL(bolb); //创建bolb格式URL
                                    let img =  document.querySelector("#img");
                                      img.src = url;  //这里做的事没秒加载,可以改动为分片上传
                                      if(i<block){ i+=1; show()}
                 },1000);
                                
                             }
                 show();
                            
          }//show end
                    
    },false)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端无法像原生APP一样直接操作本地文件,否则的话打开个网页就能把用户电脑上的文件偷光了,所以需要通过用户触发,用...
    雷波_viho阅读 832评论 0 1
  • 秋季要适当“进补”,而真正的“养生高手”,并不是那些名贵的中草药材或保健品,而是我们身边一些非常普通的食材。 所以...
    享受幸福1阅读 256评论 0 1
  • 班级情况 校区:科学创想机器人茂业店 时间:周六下午3点30-5点30 学员:郝嘉成,刘朗明,杨丛键 教学目标 1...
    乐搭阅读 659评论 0 0
  • 前两天,手机被小宝成功摔坏,害得我这两天就像被关了禁闭一样。哈哈,现在手机真是一刻也离不了了。 今...
    何佳豪的妈妈阅读 146评论 0 0
  • 在开发我们经常会使用到自定义实现控件, 今天呢就跟大家说一说switch开关按钮的自定义实现。 为了大家的方便,直...
    weioule阅读 1,720评论 0 1