Vue 上传前获取图片宽度尺寸和大小

参考资料:https://www.cnblogs.com/wyx-remove-love/p/wyx-20190626-1.html

       https://blog.csdn.net/qq_22771739/article/details/87007191

废话不多说,直接上代码了

复制代码
   beforeAvatarUpload(file) {
      const isImg = file.type === 'image/jpeg' || file.type === 'image/png'
      const isLt2M = file.size / 1024 / 1024 < 5

      if (!isImg) {
        this.$notify({
          title: '失败',
          message: '上传图片只能是 JPG/JPEG/PNG 格式!',
          type: 'error',
          duration: 3000
        })
        return false
      }
      if (!isLt2M) {
        this.$notify({
          title: '失败',
          message: '上传图片大小不能超过 4MB!',
          type: 'error',
          duration: 3000
        })
        return false
      }

      var reader = new FileReader();
      reader.readAsDataURL(file);
      reader.onload = function () { //让页面中的img标签的src指向读取的路径 
        var img = new Image()
        img.src = reader.result
        if (img.complete) {//如果存在浏览器缓存中
          if (img.width > 540 || img.height > 300) {
            this.$notify({
              title: '失败',
              message: '上传图片分辨率建议540*300,宽度不可超过540px,高度不超过300px!',
              type: 'error',
              duration: 3000
            })
            return false
          }

        } else {
          img.onload = function () {
            if (img.width > 540 || img.height > 300) {
              this.$notify({
                title: '失败',
                message: '上传图片分辨率建议540*300,宽度不可超过540px,高度不超过300px!',
                type: 'error',
                duration: 3000
              })
              return false
            }
          }
        }
      }

      return isImg && isLt2M
    }
复制代码

 

posted @   大稳·杨  阅读(12520)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示