el-upload上传图片并获取图片的base64编码

<el-upload

    class="upload-demo"
    drag
    action=""
    :before-upload="beforeUploadFile"
    accept=".jpg, .jpeg, .png"
  >
        <i class="el-icon-upload"></i>
        <div class="el-upload__text">拖拽图片到此处,或<em>点击上传</em></div>
</el-upload>
beforeUploadFile(file) {
    let types = ['image/jpeg', 'image/png']
    let msg = '上传图片只能是 JPG/PNG格式!'
    const isImage = types.includes(file.type)

    if (!isImage) {
      this.$message.error(msg)
      return false
    }

    const isLimit = file.size / 1024
    if (isLimit < 10) {
      this.$message.error('图片不能小于10KB')
      return false
    }

    if (isLimit > 200) {
      this.$message.error('图片不能大于200KB')
      return false
    }


    const reader = new FileReader()
    reader.readAsDataURL(file)
    reader.onload = (e) => {
      this.base64Img = e.target.result //此为base64编码
      if(this.base64Img.includes('data:image/jpeg;base64,')) {
        this.imageDataBase64 = e.target.result.split('data:image/jpeg;base64,')[1]
      }

      if(this.base64Img.includes('data:image/png;base64,')) {
        this.imageDataBase64 = e.target.result.split('data:image/png;base64,')[1]
      }
    }

    // 阻止默认上传行为
    return false
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值