美文网首页
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