欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue+Element-UI實(shí)現(xiàn)上傳圖片并壓縮

 更新時(shí)間:2019年11月26日 10:49:25   作者:LitongZero  
這篇文章主要為大家詳細(xì)介紹了Vue+Element-UI實(shí)現(xiàn)上傳圖片并壓縮功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

Vue+Element-UI 上傳圖片并壓縮,供大家參考,具體內(nèi)容如下

1.版本

Vue:2.5.2
Element-UI:2.12.0

可實(shí)現(xiàn)圖片上傳前,自動(dòng)壓縮。
Element-UI組件,詳情見 官網(wǎng)。

2.template部分

<el-form-item label="照片">
  <el-upload
  accept="image/*"
  class="avatar-uploader"
  :action="uploadPath"
  :show-file-list="false"
  :on-success="handleAvatarSuccess"
  :before-upload="beforeAvatarUpload">
  <img v-if="imgUrl" :src="imgUrl" class="avatar">
  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
 </el-upload>
</el-form-item>

3.script部分

data() {
  return {
   //壓縮質(zhì)量
   imgQuality: 0.5,
   imageUrl: ''
}
methods: {
 handleAvatarSuccess(res, file) {
  // 服務(wù)器返回結(jié)果處理
 },
 dataURItoBlob(dataURI, type) {
  var binary = atob(dataURI.split(',')[1]);
  var array = [];
  for(var i = 0; i < binary.length; i++) {
   array.push(binary.charCodeAt(i));
  }
  return new Blob([new Uint8Array(array)], {type: type});
 },
 beforeAvatarUpload(file) {
  const _this = this
  return new Promise(resolve => {
   const reader = new FileReader()
   const image = new Image()
   image.onload = (imageEvent) => {
    const canvas = document.createElement('canvas');
    const context = canvas.getContext('2d');
    const width = image.width * _this.imgQuality
    const height = image.height * _this.imgQuality
    canvas.width = width;
    canvas.height = height;
    context.clearRect(0, 0, width, height);
    context.drawImage(image, 0, 0, width, height);
    const dataUrl = canvas.toDataURL(file.type);
    const blobData = _this.dataURItoBlob(dataUrl, file.type);
    resolve(blobData)
   }
   reader.onload = (e => { image.src = e.target.result; });
   reader.readAsDataURL(file);
  })
 }
}

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

相關(guān)文章

  • vue.js中for循環(huán)如何實(shí)現(xiàn)異步方法同步執(zhí)行

    vue.js中for循環(huán)如何實(shí)現(xiàn)異步方法同步執(zhí)行

    這篇文章主要介紹了vue.js中for循環(huán)如何實(shí)現(xiàn)異步方法同步執(zhí)行問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Vue首評加載速度及白屏?xí)r間優(yōu)化詳解

    Vue首評加載速度及白屏?xí)r間優(yōu)化詳解

    這篇文章主要介紹了vue項(xiàng)目優(yōu)化首評加載速度,以及白屏?xí)r間過久的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • vue項(xiàng)目中使用bpmn為節(jié)點(diǎn)添加顏色的方法

    vue項(xiàng)目中使用bpmn為節(jié)點(diǎn)添加顏色的方法

    這篇文章主要介紹了vue項(xiàng)目中使用bpmn為節(jié)點(diǎn)添加顏色的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • vue項(xiàng)目多租戶環(huán)境變量的設(shè)置

    vue項(xiàng)目多租戶環(huán)境變量的設(shè)置

    本文主要介紹了vue項(xiàng)目多租戶環(huán)境變量的設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Vue 2源碼解讀$mount函數(shù)原理

    Vue 2源碼解讀$mount函數(shù)原理

    這篇文章主要為大家介紹了Vue 2源碼解讀$mount原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • vue實(shí)現(xiàn)按需加載組件及異步組件功能

    vue實(shí)現(xiàn)按需加載組件及異步組件功能

    這篇文章主要介紹了vue實(shí)現(xiàn)按需加載組件和異步組件,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-05-05
  • vue父子組件動(dòng)態(tài)傳值的幾種方式及注意問題詳解

    vue父子組件動(dòng)態(tài)傳值的幾種方式及注意問題詳解

    這篇文章主要介紹了vue父子組件動(dòng)態(tài)傳值的幾種方式及注意問題詳解,需要的朋友可以參考下
    2022-12-12
  • vue+element-plus上傳圖片及回顯問題及數(shù)量限制

    vue+element-plus上傳圖片及回顯問題及數(shù)量限制

    本文主要介紹了vue+element-plus上傳圖片及回顯問題及數(shù)量限制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • vue如何實(shí)現(xiàn)左右滑動(dòng)tab(vue-touch)

    vue如何實(shí)現(xiàn)左右滑動(dòng)tab(vue-touch)

    這篇文章主要介紹了vue如何實(shí)現(xiàn)左右滑動(dòng)tab(vue-touch),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 用Vue.js開發(fā)網(wǎng)頁時(shí)鐘

    用Vue.js開發(fā)網(wǎng)頁時(shí)鐘

    這篇文章主要為大家詳細(xì)介紹了用Vue.js開發(fā)一個(gè)網(wǎng)頁時(shí)鐘,分為白天模式和夜晚模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評論