图片上传前判断文件格式,图片大小,图片宽高(亲测可用)

图片上传前判断

    // 校验上传图片
    beforeUploadFile(file) {
      let extension = file.name.substring(file.name.lastIndexOf('.') + 1)
      let size = file.size / 1024 / 1024
      if (extension !== 'jpg' && extension !== 'png') {
        this.$message.warning('只能上传后缀是.jpg和.png的文件')
        return false
      }
      if (size > 2) {
        this.$message.warning('文件大小不得超过2M')
        return false
      }
      // 判断当前的图片尺寸
      const isSize = new Promise(function (resolve, reject) {
        let width = 308 
        let height = 196
        let _URL = window.URL || window.webkitURL
        let img = new Image()
        img.onload = function () {
          let valid = img.width == width && img.height == height
          valid ? resolve() : reject()
        }
        img.src = _URL.createObjectURL(file)
        console.log(img.src)
      }).then(
        () => {
          return file
        },
        () => {
          this.$message({
            message: '上传图片尺寸仅限于308*196px,请重新选择图片!',
            type: 'warning',
          })
          return Promise.reject()
          return false //必须加上return false; 才能阻止
        }
      )
      return isSize
    },
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端J先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值