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

vue 檢測(cè)用戶上傳圖片寬高的方法

 更新時(shí)間:2020年02月06日 15:57:24   作者:fox_charon  
這篇文章主要介紹了vue 檢測(cè)用戶上傳圖片寬高的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

需求:

用戶可上傳3-6張圖片(第 1 2 3 張必須傳),上傳的圖片必須是540 * 330 像素。

第一步,獲取上傳的圖片的寬高。

初始化一個(gè)對(duì)象數(shù)組,寬高均設(shè)為0。

如果用戶上傳的圖片沒(méi)有上限,可以動(dòng)態(tài)修改這個(gè)對(duì)象數(shù)組。

data:

  picArray:[
  {
   width:0,
   height:0
  },
  {
   width:0,
   height:0
  },
  {
   width:0,
   height:0
  },
  {
   width:0,
   height:0
  },
  {
   width:0,
   height:0
  },
  {
   width:0,
   height:0
  }
  ],

HTML:

<myupload :keys="index" @getBase="getUpImg">
    
</myupload>

myupload是上傳圖片的組件,略。 

methods:

 getUpImg(imgurl, keys){
  if(keys === 9){
  this.submitData.logo_img = imgurl
  this.logoImgCount = true
  } else {
  Vue.set(this.imgListArray,keys,imgurl)
  
  this.$nextTick(function(){
   let img = document.getElementById('picId' + keys)
   // console.log(img)
   let picArray = this.picArray
   img.onload = function () {
   console.log(keys)
   console.log(this.naturalWidth)
   console.log(this.naturalHeight)
   let o = {
    width: this.naturalWidth,
    height: this.naturalHeight
   }
   Vue.set(picArray,keys,o)
   console.log('picArray', picArray)
   }
  })
  }  
 },

關(guān)鍵的代碼用紅色標(biāo)出了。

值得注意的是:獲取寬高必須用 this.$nextTick ,里面再寫(xiě) img.onload 。this.naturalWidth 是圖片原本的寬高。此時(shí) this 指的是當(dāng)前圖片對(duì)象。

 第二步,提交之前檢驗(yàn)圖片的寬高。

methods:

 imageCheck(){
  let checkboolean = true
  let check = {
  'width': [[540],[0,540]],
  'height': [[330],[0,330]]
  }
  let f1 = function (num,index,type) {
  let n = num
  let i = index
  let t = type
  let b = false
  // console.log(n,i,t)
  for (let x = 0; x < check[type][i].length; x++) {
   if (check[type][i][x] === num) {
   // console.log('>>>>>>>>>>>>>' + check[type][i][x] + '===' + num + '>>>>>>>>>>>>>>>>' )
   b = true
   }   
  }
  return b
  }
  for (let i = 0; i < this.picArray.length; i++) {

  let cb = true

  for (let x in this.picArray[i]) {
   let number = this.picArray[i][x]
   // console.log(x,number)
   if (x === 'width' && i < 3) {
   checkboolean = f1(number, 0, 'width')
   if (!checkboolean) {
    // console.log('=================',i,x,number,'return false')
    cb = false
    break
   }
   } else if (x === 'width' && i >= 3) {
   checkboolean = f1(number, 1, 'width')
   if (!checkboolean) {
    // console.log('=================',i,x,number,'return false')
    cb = false
    break
   }
   } else if (x === 'height' && i < 3) {
   checkboolean = f1(number, 0, 'height')
   if (!checkboolean) {
    // console.log('=================',i,x,number,'return false')
    cb = false
    break
   }
   } else if (x === 'height' && i >= 3) {
   checkboolean = f1(number, 1, 'height')
   if (!checkboolean) {
    // console.log('=================',i,x,number,'return false')
    cb = false
    break
   }
   }
  }

  if (!cb) {
   break
  }
  }
  return checkboolean
 },


// sumbit function
...
  if(!this.imageCheck()){
  this.$message({
   message: this.MASSAGE_imagecheck,
   type: 'error'
  });
  return false
  }
  alert('可以傳圖')
...

$message 是elementUI的組件。

imageCheck 就是檢驗(yàn)圖片寬高用的方法。返回布爾值,false表示圖片寬高不符合要求(或者沒(méi)有傳圖)。

其中:

checkboolean 是最終要返回的布爾值。

check 是裝載合法寬高值的對(duì)象。因?yàn)楹?張圖可傳可不傳,所以 width 和 height 都是二階數(shù)組。數(shù)字是符合要求的值。

f1 是檢驗(yàn)?zāi)骋粡垐D寬高的函數(shù),傳入寬高值、下標(biāo)(第幾張)、類型(width height),返回布爾值,false表示圖片寬高不符合要求(或者沒(méi)有傳圖)。

執(zhí)行 imageCheck 方法的時(shí)候會(huì)直接執(zhí)行循環(huán),如果發(fā)現(xiàn)圖片不符合要求就跳出并返回 false 給函數(shù)外。

里循環(huán)中的 x 代表類型,i 代表下標(biāo)。

使用:在提交時(shí)執(zhí)行 imageCheck 方法即可。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue3實(shí)現(xiàn)點(diǎn)擊空白區(qū)域隱藏div

    vue3實(shí)現(xiàn)點(diǎn)擊空白區(qū)域隱藏div

    這篇文章主要介紹了vue3實(shí)現(xiàn)點(diǎn)擊空白區(qū)域隱藏div方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Vue數(shù)據(jù)驅(qū)動(dòng)試圖的實(shí)現(xiàn)方法及原理

    Vue數(shù)據(jù)驅(qū)動(dòng)試圖的實(shí)現(xiàn)方法及原理

    當(dāng)Vue實(shí)例中的數(shù)據(jù)(data)發(fā)生變化時(shí),與之相關(guān)聯(lián)的視圖(template)會(huì)自動(dòng)更新,反映出最新的數(shù)據(jù)狀態(tài), Vue的數(shù)據(jù)驅(qū)動(dòng)視圖是通過(guò)其響應(yīng)式系統(tǒng)實(shí)現(xiàn)的,以下是Vue數(shù)據(jù)驅(qū)動(dòng)視圖實(shí)現(xiàn)的核心原理,需要的朋友可以參考下
    2024-10-10
  • vue中如何實(shí)現(xiàn)拖拽調(diào)整順序功能

    vue中如何實(shí)現(xiàn)拖拽調(diào)整順序功能

    這篇文章主要介紹了vue中如何實(shí)現(xiàn)拖拽調(diào)整順序功能問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue.js單文件組件中非父子組件的傳值實(shí)例

    vue.js單文件組件中非父子組件的傳值實(shí)例

    今天小編就為大家分享一篇vue.js單文件組件中非父子組件的傳值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue axios請(qǐng)求成功卻進(jìn)入catch的原因分析

    vue axios請(qǐng)求成功卻進(jìn)入catch的原因分析

    這篇文章主要介紹了vue axios請(qǐng)求成功卻進(jìn)入catch的原因分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Vue3處理大數(shù)據(jù)量渲染和優(yōu)化的方法小結(jié)

    Vue3處理大數(shù)據(jù)量渲染和優(yōu)化的方法小結(jié)

    在現(xiàn)代Web應(yīng)用中,隨著用戶數(shù)據(jù)和交互的復(fù)雜性增加,如何高效地處理大數(shù)據(jù)量渲染成為了前端開(kāi)發(fā)的重要環(huán)節(jié),本文將以Vue 3為例,探討如何優(yōu)化大數(shù)據(jù)量渲染,提升應(yīng)用性能,需要的朋友可以參考下
    2024-07-07
  • Vue使用v-model收集各種表單數(shù)據(jù)、過(guò)濾器的示例詳解

    Vue使用v-model收集各種表單數(shù)據(jù)、過(guò)濾器的示例詳解

    這篇文章主要介紹了Vue使用v-model收集各種表單數(shù)據(jù)、過(guò)濾器的示例,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Vuejs從數(shù)組中刪除元素的示例代碼

    Vuejs從數(shù)組中刪除元素的示例代碼

    這篇文章主要介紹了Vuejs從數(shù)組中刪除元素的示例代碼,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Vue實(shí)現(xiàn)底部側(cè)邊工具欄的實(shí)例代碼

    Vue實(shí)現(xiàn)底部側(cè)邊工具欄的實(shí)例代碼

    這篇文章主要介紹了Vue實(shí)現(xiàn)底部側(cè)邊工具欄的實(shí)例代碼,文中通過(guò)分享一段代碼介紹vue 側(cè)邊導(dǎo)航欄遞歸顯示功能,需要的朋友可以參考下
    2018-09-09
  • vue2如何使用face-api.js實(shí)現(xiàn)人臉識(shí)別功能

    vue2如何使用face-api.js實(shí)現(xiàn)人臉識(shí)別功能

    本文介紹了如何在Vue.js項(xiàng)目中利用face-api.js實(shí)現(xiàn)人臉識(shí)別功能,首先需要安裝Vue.js和face-api.js以及其依賴TensorFlow.js,接著,下載并配置必要的模型文件到項(xiàng)目目錄,之后,將人臉識(shí)別功能封裝成Vue組件,并在組件中通過(guò)視頻流進(jìn)行人臉檢測(cè)和結(jié)果展示
    2024-09-09

最新評(píng)論

名山县| 吉木萨尔县| 固原市| 泉州市| 绩溪县| 聂拉木县| 漯河市| 扶风县| 扎鲁特旗| 木兰县| 吉林市| 武义县| 抚顺县| 康平县| 南部县| 溆浦县| 额尔古纳市| 云阳县| 汉中市| 册亨县| 盐边县| 长丰县| 东辽县| 新津县| 青田县| 嘉峪关市| 施甸县| 搜索| 高清| 茂名市| 维西| 夏邑县| 芒康县| 昌图县| 都江堰市| 桃江县| 岗巴县| 桦南县| 烟台市| 中江县| 玉溪市|