鼠标光标处插入变量name传递给后端,elementui上传图片判断大小

    handleFocusVal (type, editForm = false) {
      let index = this.contentIndex
      let form = editForm  // 编辑form
      let name = this[form].messageTemplateContent
      let insertTxt = '${' + 'name}' 
      if (name) {
        let val = name.slice(0, index) + insertTxt + name.slice(index)
        this.$set(this[form], 'messageTemplateContent', val)
      } else {
        this.$set(this[form], 'messageTemplateContent', insertTxt)
      }
      this.$refs[form].focus()
    },

  上传判断图片大小: 

    beforeAvatarUpload (file, imageType, w, h) {
      const isLtm5M = file.size / 1024 / 1024 > 5
      let typeArr = ['jpeg', 'jpg', 'png', 'gif']
      let imgType = file.type.split('/')[1]
      const isType = typeArr.includes(imgType)
      if (!isType) {
        this.$message.error('请选择格式为png、jpg、gif的图片')
        return false
      }
      if (isLtm5M) {
        this.$message.error('请选择小于5M大小的图')
        return false
      }
      const _URL = window.URL || window.webkitURL
      const isSize = new Promise((resolve, reject) => { // px
        const image = new Image()
        image.onload = function () {
          const width = image.width
          const height = image.height
          // eslint-disable-next-line prefer-promise-reject-errors
          width > w || height > h ? reject() : resolve()
        }
        image.src = _URL.createObjectURL(file)
      }).then(
        async () => {
          let url = await this.handleAliossUpload(file, imgType)
          this.$set(this.formData, imageType, url)
          return file
        },
        () => {
          this.$message.error(`请上传尺寸为${w}*${h}尺寸的图片!`)
          // eslint-disable-next-line prefer-promise-reject-errors
          return Promise.reject()
        })
      return isSize
    },

  

posted @ 2025-06-17 14:18  everseven  阅读(4)  评论(0)    收藏  举报