最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue elementui上傳圖片限制格式、大小和尺寸方式

 更新時間:2024年03月08日 09:23:53   作者:Naive_Jam  
這篇文章主要介紹了vue elementui上傳圖片限制格式、大小和尺寸方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

需求

  • 上傳圖片的格式為:.jpg、.jpeg、.png
  • 大小為:1M以內(nèi)
  • 尺寸為:400*400

代碼實現(xiàn)

直接拿的elementui官網(wǎng)的html代碼,加了一句:

accept="image/jpg,image/jpeg,image/png"
<el-upload
  class="avatar-uploader"
  action="https://jsonplaceholder.typicode.com/posts/"
  accept="image/jpg,image/jpeg,image/png"
  :show-file-list="false"
  :on-success="handleAvatarSuccess"
  :before-upload="beforeAvatarUpload">
  <img v-if="imageUrl" :src="imageUrl" class="avatar">
  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>

下面是寫在methods里的js代碼: 

// 限制圖片尺寸
    limitFileWH(E_width, E_height, file) {
      const _this = this
      let imgWidth = ''
      let imgHight = ''
      const isSize = new Promise(function(resolve, reject) {
        const width = E_width
        const height = E_height
        const _URL = window.URL || window.webkitURL
        const img = new Image()
        img.onload = function() {
          imgWidth = img.width
          imgHight = img.height
          const valid = img.width === width && img.height === height
          valid ? resolve() : reject()
        }
        img.src = _URL.createObjectURL(file)
      }).then(() => {
        return true
      }, () => {
        _this.$message.warning({
          message: '上傳圖片的尺寸應為' + E_width + '*' + E_height + ',當前上傳圖片的尺寸為:' + imgWidth + '*' + imgHight,
          btn: false
        })
        return false
      })
      return isSize
    },
 
    // 圖片上傳之前的判斷
    handleBeforeUpload(file) {
      return new Promise((resolve, reject) => {
        const suffix = file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg'
        const isLt1M = file.size / 1024 / 1024 < 1
        if (!suffix) {
          this.$message.error('只能上傳圖片!')
          return reject(false)
        }
        if (!isLt1M) {
          this.$message.error('上傳圖片大小不能超過 1MB!')
          return reject(false)
        }
        // 調(diào)用[限制圖片尺寸]函數(shù)
        this.limitFileWH(400, 400, file).then((res) => {
          file.isFlag = res
          if (file.isFlag) {
            return resolve(true)
          } else {
            return reject(false)
          }
        })
      })
    },
// 上傳成功的回調(diào)
    handleAvatarSuccess(res, file) {
      this.imageUrl = URL.createObjectURL(file.raw);
    },

上傳的圖片不符合需求的會提示錯誤信息,停止上傳。 

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Vue中實現(xiàn)表單地區(qū)選擇與級聯(lián)聯(lián)動示例詳解

    Vue中實現(xiàn)表單地區(qū)選擇與級聯(lián)聯(lián)動示例詳解

    這篇文章主要為大家介紹了Vue中實現(xiàn)表單地區(qū)選擇與級聯(lián)聯(lián)動示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • Mock.js在Vue項目中的使用小結(jié)

    Mock.js在Vue項目中的使用小結(jié)

    這篇文章主要介紹了Mock.js在Vue項目中的使用,在vue.config.js中配置devServer,在before屬性中引入接口路由函數(shù),詳細步驟跟隨小編通過本文學習吧
    2022-07-07
  • vue項目優(yōu)雅實現(xiàn)自動引入組件的方法詳解

    vue項目優(yōu)雅實現(xiàn)自動引入組件的方法詳解

    在我們寫vue項目的時候,都會引入一些組件庫,有時候有可能還不止一個組件庫,那么如何優(yōu)雅的實現(xiàn)自動引入組件呢,下面小編就來和大家詳細講講吧
    2023-09-09
  • Vue模板內(nèi)引入的組件樣式覆蓋失效原因及解決

    Vue模板內(nèi)引入的組件樣式覆蓋失效原因及解決

    這篇文章主要介紹了Vue模板內(nèi)引入的組件樣式覆蓋失效原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 關于Vue中img動態(tài)拼接src圖片地址的問題

    關于Vue中img動態(tài)拼接src圖片地址的問題

    這篇文章主要介紹了關于Vue中img動態(tài)拼接src圖片地址的問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • Vue3中導航守衛(wèi)的使用教程

    Vue3中導航守衛(wèi)的使用教程

    在Vue3中,導航守衛(wèi)(Navigation Guards)用于在路由切換前后執(zhí)行一些操作,例如驗證用戶權限、取消路由導航等,本文主要為大家介紹了vue3中導航守衛(wèi)的使用方法,需要的可以參考下
    2023-08-08
  • Vue安裝與使用

    Vue安裝與使用

    Vue是一套用于構(gòu)建前后端分離的框架。剛開始是由國內(nèi)優(yōu)秀選手尤雨溪開發(fā)出來的,目前是全球“最”流行的前端框架。使用vue開發(fā)網(wǎng)頁很簡單,并且技術生態(tài)環(huán)境完善,社區(qū)活躍,是前后端找工作必備技能!下面來看看其得安裝及使用方法吧
    2021-10-10
  • Vue中的虛擬DOM、diff算法、key的作用詳解

    Vue中的虛擬DOM、diff算法、key的作用詳解

    這篇文章主要介紹了Vue中的虛擬DOM、diff算法、key的作用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 詳解如何在Vue Router中實現(xiàn)動態(tài)路由匹配

    詳解如何在Vue Router中實現(xiàn)動態(tài)路由匹配

    在構(gòu)建復雜的單頁面應用程序(SPA)時,動態(tài)路由匹配是一項強大的功能,它允許我們根據(jù)URL中的參數(shù)動態(tài)加載內(nèi)容,Vue Router 提供了動態(tài)路由匹配的能力,使得我們可以根據(jù)不同的URL參數(shù)展示不同的組件或數(shù)據(jù),本文將介紹如何在Vue Router中實現(xiàn)動態(tài)路由匹配
    2025-05-05
  • Vue 創(chuàng)建組件的兩種方法小結(jié)(必看)

    Vue 創(chuàng)建組件的兩種方法小結(jié)(必看)

    Vue 創(chuàng)建組件的方法有哪些呢?下面小編就為大家分享一篇Vue 創(chuàng)建組件的兩種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02

最新評論

尤溪县| 南平市| 陵水| 阳山县| 怀远县| 霞浦县| 迭部县| 朔州市| 开封县| 宜兰县| 革吉县| 来宾市| 嵩明县| 麻阳| 常宁市| 临漳县| 阳西县| 紫云| 清涧县| 朝阳县| 高陵县| 酒泉市| 乐清市| 乌鲁木齐县| 焉耆| 武平县| 贵阳市| 朝阳区| 梅州市| 读书| 英德市| 陈巴尔虎旗| 湖北省| 偏关县| 神木县| 齐齐哈尔市| 汝城县| 洪泽县| 将乐县| 清原| 临漳县|