2

最近项目开发中涉及到文件上传功能,使用的是七牛的服务。查看七牛文档发现文件上传格式为blob,而本地添加上传文件时获取到的是file格式,因此需要将file转换为blob,具体转换方法如下:

// html
<input type="file" onchange="fileChange()" />

//script
function fileChange() {
  let evt = e || window.event;
  let file = evt.target.files[0];
  let reader = new FileReader();
  let rs = reader.readAsArrayBuffer(file);
  let blob = null;
  reader.onload = (e) => {
    if (typeof e.target.result === 'object') {
      blob = new Blob([e.target.result])
    } else {
      blob = e.target.result
    }
    console.log(Object.prototype.toString.call(blob));
  }
}

action
12 声望0 粉丝