最新国产好看的视频,伊人天堂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: '上傳圖片的尺寸應(yīng)為' + E_width + '*' + E_height + ',當(dāng)前上傳圖片的尺寸為:' + 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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

    Vue安裝與使用

    Vue是一套用于構(gòu)建前后端分離的框架。剛開始是由國內(nèi)優(yōu)秀選手尤雨溪開發(fā)出來的,目前是全球“最”流行的前端框架。使用vue開發(fā)網(wǎng)頁很簡單,并且技術(shù)生態(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)建復(fù)雜的單頁面應(yīng)用程序(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

最新評論

微博| 中阳县| 北川| 营口市| 安徽省| 文昌市| 丹巴县| 库车县| 新田县| 神池县| 定安县| 沈阳市| 晴隆县| 淮南市| 项城市| 洛阳市| 新蔡县| 开平市| 广元市| 藁城市| 盘山县| 新余市| 渑池县| 申扎县| 屏东县| 台南县| 厦门市| 崇明县| 龙门县| 南川市| 黔南| 荆门市| 永靖县| 鄂州市| 陵水| 新余市| 项城市| 会泽县| 股票| 万荣县| 忻州市|