图片上传

107 阅读1分钟
 uploadImg:async function(el) {
      let file = el.target.files[0];//name: "dangqi1.png" || type: "image/png"
      let param = new FormData()  // 创建form对象
      param.append('file',file)
      this.files = file;
      let type = file.type.split('/')[0];
      if ( type === 'image' ){
          //将图片img转化为base64
          let reader = new FileReader();
          reader.readAsDataURL(file);
          let that = this;
          reader.onloadend = function () {
              let dataURL = reader.result;
              that.uploadImage = dataURL;//展示图片地址
              let blob = that.dataURItoBlob(dataURL);//base64
          };
      }else{
          alert('上传了非图片');
      }
    },
    dataURItoBlob (dataURI) {
        // base64 解码
        let byteString = window.atob(dataURI.split(',')[1]);
        let mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
        let T = mimeString.split('/')[1];
        let ab = new ArrayBuffer(byteString.length);
        let ia = new Uint8Array(ab);
        for (let i = 0; i < byteString.length; i++) {
            ia[i] = byteString.charCodeAt(i);
        }
        return new Blob([ab], {type: mimeString});
    },