1. 首先使用 Upload 上传组件
    在这里插入图片描述

  2. 使用 before-upload

    before-upload:上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传
    

    在这里插入图片描述

  3. 具体代码

		// 图片校验 大小
        async beforeAvatarUpload(file) {
            let res = await this.validImageSize(file, 800, 800)
            if(!res){
                this.$message.error('图片尺寸只能为 800*800')
                return res
            }
      	},

		/**
		   * @description: 图片尺寸校验
		   * @param {Object}} file 文件对象
		   * @param {String} imgWidth 图片校验宽度 
		   * @param {String} imgHeight 图片校验高度 
		   * @return {Boolean} true:校验通过  false:校验不通过
		*/
		  // 图片尺寸校验
		  async validImageSize(file, imgWidth, imgHeight) {
		    let img = new Image()
		    img.src = URL.createObjectURL(file)
		    let { w, h } = await new Promise((resolve, reject) => {
		      img.onload = () => {
		        let { width: w, height: h } = img;
		        resolve({ w, h })
		      }
		    })
		    if (w * imgHeight !== imgWidth * h) {
		      return false
		    }
		    return true
		  }

GitHub 加速计划 / eleme / element
15
3
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:4 个月前 )
c345bb45 1 年前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐