vue判断图片大小并提示及图片压缩功能实现

<el-col :span="9" v-if="ubo.uboIdDocType === 'IDENTIFICATION_TYPE_IDCARD'">
  <el-form-item label="证件反面照片" prop="uboIdDocCopyBack">
    <el-upload :action="uploadUrl" :headers="uploadRequestHeaders" list-type="picture-card"
               :show-file-list="false" :multiple="false" accept="video/*"
               :on-success="handleuboIdDocCopyBackSuccess"
               :before-upload="beforeAvatarUpload">  //图片上传前的操作
      <img v-if="uboIdDocCopyBackImageFile" :src="uboIdDocCopyBackImageFile" class="img">
      <i v-else class="el-icon-plus"></i>
    </el-upload>
  </el-form-item>
</el-col>

1.判断图片大小并终止上传,终止上传return false就可以了

beforeAvatarUpload(file) {
      const isLt2M = file.size / 1024 / 1024 < 0.488;
      if (!isLt2M) {
        this.$message.error("上传图片大小不能超过 500KB!");
        return false
      }
}

2  vue图片压缩功能

2.1  安装依赖

npm i image-conversion

2.2  页面中引入

import * as imageConversion from 'image-conversion'

2.3  使用

beforeAvatarUpload(file) {
      const isLt2M = file.size / 1024 / 1024 < 0.488;
      if (!isLt2M) {    //图片超过500KB
          return new Promise((resolve) => {
              // 压缩到500KB,这里的500就是要压缩的大小,可自定义
              imageConversion.compressAccurately(file, 500).then(res => {
                console.log(res)
                resolve(res);
              });
          })
      }
},

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值