js中的fileReader进行文件上传

在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就可以作为数据流传递给后台

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容