blob:http://192.168.1.136:10086/6f0d8da转成真正的blob再转成base64

本文介绍如何使用AtImagePicker组件处理图片,包括通过fetch获取真实blob数据,利用FileReader读取并转换为base64格式,实现图片的预览和上传功能。

AtImagePicker的onChange拿到的url是这样的blob:http://192.168.1.136:10086/6f0d8da,但这并不是真正的blob,通过fetch可以拿到真正的blob,再用FileReader的readAsDataURL可以得到base64,或FileReader的其他方法拿到其他数据格式

  onChange(files) {
    let that = this;
    for (let i = 0; i < files.length; i++) {
      fetch(files[i].url).then(data => {
        const blob = data.blob();
        return blob;
      }).then(blob => {
        let reader = new window.FileReader();
        reader.onloadend = function () {
          const data = reader.result;
          // console.log(data);
          files[i].url = data;
          that.setState({
            files
          })
        };
        reader.readAsDataURL(blob);
      })
    }
  }
     <AtImagePicker
          multiple
          files={this.state.files}
          onChange={this.onChange.bind(this)}
          onFail={this.onFail.bind(this)}
          onImageClick={this.onImageClick.bind(this)}
        />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值