使用element的Upload实现头像更换

1.html代码(action是后端地址,如果要带别的参数:data={id:this.keyid})

<el-upload

            class="avatar-uploader"

            :data={id:this.keyid}

            :action=imageUrl

            name="file"

            :show-file-list="false"

            :on-success="handleAvatarSuccess"

            :before-upload="beforeAvatarUpload"

          >

            <img

              v-if="imglogin"

              :src="imglogin"

              class="avatar"

            >

            <i

              v-else

              class="el-icon-plus avatar-uploader-icon"

            ></i>

    </el-upload>

2.事件(:on-success是上传成功执行的函数,用action忘后端传,前端成功,响应没有东西,但是后端收不到,不知道什么原因,所以我直接在on-success中调取后端接口,传file格式用formData方法传)

handleAvatarSuccess(res, file) {

      console.log(res)

      this.imglogin = URL.createObjectURL(file.raw);

      console.log(this.imageUrl)

    },

    beforeAvatarUpload(file) {

      const isJPG = file.type === "image/jpeg";

      const isLt2M = file.size / 1024 / 1024 < 10;

      if (!isJPG) {

        this.$message.error("上传头像图片只能是 JPG 格式!");

      }

      if (!isLt2M) {

        this.$message.error("上传头像图片大小不能超过 2MB!");

      }

      let formData = new FormData();

      formData.append("file", file);

      formData.append("id", this.keyid);

      getsendupoade(formData).then(res=>{

          if(res.code==20000){

            this.dialogVisibleoplod=false

          }

      })

      return isJPG && isLt2M;

    },

 

 

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值