美文网首页
js中的fileReader进行文件上传

js中的fileReader进行文件上传

作者: guoss | 来源:发表于2017-06-30 17:50 被阅读0次

    在html5中中file方法给数据的上传下载提供很大的便利,但<input type="file" id="myFile">中通常需要读取文件内容
    1.fileReader就是读取文件二进制流的

    *获取需要上传对象*
    var select=document.getElementById('myFile').files[0];//获取所要上传的对象
    var reader=new FileReader();
    reader.readAsArrayBuffer(select);//读取文件的blob内容存储在result中
    

    读取文件的主要方法#

    reader.readAsArrayBuffer();//读取的文件内容arraybuffer存储文件内容
    reader.readAsDataURL();//读取出包含文件内容的url
    reader.readAsText();读取文件字符串表示
    
    *文件加载过程*
    reader.onload=function(){
      myResult=this.result;
      var array=new Uint8Array(myResult);
      var buf=new buf.buffer(1000);
      var totalNum=Math.ceil(array.legth/1000);//文件分为1000份;
      var bufT = new buf.Buffer(array.length);
      for(var i=0;i<array.length;i++){
         bufT[i]=array[i];
      }
      bufT.copy(buf,0,0,999);
    *接下来就是二进制数据循环发送*
    }
    

    buffer主要是针对我上传的数据格式必须是二进制格式,而且需要分包发送,publish只能为buffer

    2.第二种方法可以通过new FormData()的方法

    let formData = new FormData()
    this.portParams = '参数名'
    this.file = document.getElementById('myFile').files[0]
    formData.append(that.portParams, this.file)
    

    formData就可以作为数据流传递给后台

    相关文章

      网友评论

          本文标题:js中的fileReader进行文件上传

          本文链接:https://www.haomeiwen.com/subject/pphicxtx.html