antdesgin的上传图片的方法示例

1.base64格式转化

function getBase64(img, callback) {
  const reader = new FileReader();
  const $img = new Image();
  reader.readAsDataURL(img);
  reader.addEventListener('load', () => {
    $img.src = reader.result;
    $img.addEventListener('load', () => {
      callback({
        url: $img.src,
        width: $img.width,
        height: $img.height,
      });
    });
  });
}

2.监听各种事件

 function handleChange(info) {
      if (info.file.status === 'uploading') {
        emit('uploading', { ...info });
        loading.value = true;
        return;
      }
      if (info.file.status === 'done') {
        emit('success', { ...info, data: unref(info.file.response).data });
        getBase64(info.file.originFileObj, ({ url, width, height }) => {
          imageUrl.value = url;
          loading.value = false;
          imageClass.value = width > height ? 'h' : 'v';
        });
        return;
      }
      if (info.file.status === 'removed') {
        emit('delete', { ...info });
      }
      if (typeof info.file.status === 'undefined' || info.file.status === 'error') {
        loading.value = false;
        emit('fail', { ...info });
      }
    }

3.提示

 function beforeUpload(file) {
      emit('beforeUpload', file);
      const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';
      if (!isJpgOrPng) {
        message.error('You can only upload JPG file!');
      }
      const isLt2M = file.size / 1024 / 1024 < 2;
      if (!isLt2M) {
        message.error('Image must smaller than 2MB!');
      }
      return isJpgOrPng && isLt2M;
    }

4.来自于学习大佬的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值