国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

vue用element來實(shí)現(xiàn)上傳圖片和修改圖片功能

3403771864 / 1769人閱讀

  項(xiàng)目要求上傳圖片的模塊,這個(gè)簡(jiǎn)單,但是要在保存圖片后需要編輯就不怎么好處理了,現(xiàn)在就和大家一起分享。

  一、應(yīng)用場(chǎng)景

  1.上傳圖片并進(jìn)行放大預(yù)覽

  2.圖片上傳代碼

  就是直接將圖片上傳到接口,成功后返回圖片路徑,表單提交時(shí),后臺(tái)要路徑拼成的字符串格式,類似str=‘/uploads/20220418/d93905dbcd041a0a88abc72fd34b6c98.jpg,/uploads/20220418/d93905dbcd041a0a88abc72fd34b6c98.jpg,/uploads/20220418/d93905dbcd041a0a88abc72fd34b6c98.jpg’;下面會(huì)介紹路徑處理方法

  <el-upload
  :action="上傳圖片接口地址"
  list-type="picture-card"
  :on-preview="handlePictureCardPreview"
  :on-success="imgSuccess"
  :on-error="imgError"
  :on-remove="imgRemove"
  >
  <i class="el-icon-plus"></i>
  </el-upload>

2.png

  // 上傳成功
  imgSuccess(res, file, fileList) {
  this.fileList = fileList;
  //這里我是用一個(gè)fileList數(shù)組存取,當(dāng)保存的時(shí)候進(jìn)行圖片路徑處理
  },
  // 上傳失敗
  imgError(res) {
  this.$message({
  type: "error",
  message: "附件上傳失敗",
  });
  },
  // 刪除圖片
  imgRemove(file, fileList) {
  this.fileList = fileList;
  },
  // 附件上傳圖片預(yù)覽事件,這個(gè)就是將路徑直接放進(jìn)一個(gè)彈窗顯示出來就可以了
  handlePictureCardPreview(file) {
  this.dialogImageUrl = file.url;
  this.dialogVisible = true;
  },
  // 處理圖片路徑
  setImgUrl(imgArr) {
  let arr = [];
  if (imgArr.length>0) {
  for (let i = 0; i < imgArr.length; i++) {
  const element = imgArr[i];
  arr.push(element.response.data.url);
  //這個(gè)地方根據(jù)后臺(tái)返回的數(shù)據(jù)進(jìn)行取值,可以先打印一下
  }
  return arr.join();
  } else {
  return ''
  }
  },

  二、修改已經(jīng)上傳的圖片,并展示到圖片列表中

  1.效果展示(先展示原來的圖片,再上傳新圖片,也可刪除原來的圖片)

3.gif

  2.編輯代碼

  1.編輯組件代碼

  <el-upload
  :action="上傳圖片接口地址"
  list-type="picture-card"
  :on-preview="handlePictureCardPreview"
  :on-success="imgSuccess1"
  :on-error="imgError1"
  :on-remove="imgRemove1"
  :file-list="fileList2"
  >
  <i class="el-icon-plus"></i>
  </el-upload>

  2.處理獲取到的圖片路徑,并進(jìn)行處理展示到列表

  // 表格編輯按鈕
  tableBianji(row) {
  this.changeTanchuang = true;
  this.changeId = row.id;
  let form = { id: row.id };
  let _this = this;
  //這是 我自己封裝的方法,不用理會(huì),只看圖片路徑處理即可
  this.request("url", "GET", form, function (res) {
  if (res.code == 1) {
  _this.changeTanchuangForm = res.data;
  //將字符串轉(zhuǎn)成數(shù)組
  let arr = _this.changeTanchuangForm.up_file.split(",");
  for (let i = 0; i < arr.length; i++) {
  //創(chuàng)建對(duì)象,并將路徑進(jìn)行ip地址拼接
  let obj = {
  url: _this.requestUrl + arr[i],
  };
  //放進(jìn)圖片列表
  _this.fileList2.push(obj);
  }
  } else {
  _this.$message({
  message: res.msg,
  type: "error",
  });
  }
  });
  },

  3.編輯圖片插件的方法

  fileList1 用來放插件變化的圖片路徑

  // 刪除圖片
  imgRemove1(file, fileList) {
  this.fileList1 = fileList;
  },
  // 上傳成功
  imgSuccess1(res, file, fileList) {
  this.fileList1 = fileList;
  },
  // 上傳失敗
  imgError1(res) {
  this.$message({
  type: "error",
  message: "附件上傳失敗",
  });
  },

  4.獲取最后列表存在的圖片(上傳兩張新的圖片后,進(jìn)行打印的this.fileList1)

4.jpg

  // 先判斷圖片是否更改
  if (this.fileList1.length==0) {
  //如果為0,則表示沒有對(duì)圖片進(jìn)行編輯,則不用更改任何東西
  } else {
  //圖片進(jìn)行了一些操作,包括刪除、新增;
  let arr = [];
  // 判斷是否是新上傳的
  this.fileList1.map((item,index)=>{
  if (item.response) {
  //是新上傳的,將路徑放進(jìn)數(shù)組
  arr.push(item.response.data.url)
  } else {
  //原來存在的,將路徑進(jìn)行截取后放進(jìn)數(shù)組
  let str = '/uploads'+item.url.split('/uploads')[1];
  arr.push(str)
  }
  })
  //處理后的路徑字符串
  let up_file = arr.join(',')
  }

  在這里和大家分享下使用vue結(jié)合element進(jìn)行圖片上傳和編輯的一個(gè)操作,主要就是對(duì)圖片路徑的處理,不一樣的路徑,就會(huì)造成后臺(tái)返回的格式?jīng)Q定的。這個(gè)重點(diǎn)要記住。


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/128386.html

相關(guān)文章

  • element 上傳組件 el-upload 的經(jīng)驗(yàn)總結(jié)

    摘要:正文上傳圖片到七牛云這個(gè)需要前后端的配合才能實(shí)現(xiàn),這里是官方的參考鏈接。參考鏈接組件的怎么獲取進(jìn)度值谷歌找到的其一谷歌找到的其二完 前言 最近在做后臺(tái)管理項(xiàng)目,采用的 vue-element-admin ,上傳圖片是一個(gè)很常用的功能,也遇到了很多問題,剛好趁此機(jī)會(huì)做一些總結(jié)。 初步總結(jié)下會(huì)提到的問題,目錄如下: el-upload 自定義上傳方法 圖片上傳到七牛云 圖片壓縮后再上傳(...

    Neilyo 評(píng)論0 收藏0
  • Element-ui實(shí)現(xiàn)合并多圖上傳(一次請(qǐng)求多張圖片

    摘要:實(shí)現(xiàn)多圖上傳主要用到以下兩個(gè)屬性是自帶多圖上傳的,但是細(xì)心的朋友可能發(fā)現(xiàn)默認(rèn)多圖的實(shí)現(xiàn)可能和我們預(yù)期有些出入,有截圖可以看出,實(shí)質(zhì)是進(jìn)行多次請(qǐng)求在上傳事件觸發(fā)后,多圖上傳的默認(rèn)實(shí)現(xiàn)調(diào)用了三次請(qǐng)求。 前言 工作中碰到需要多圖上傳,在使用element-ui解決過程中碰到一些問題,在這里分享給大家。 環(huán)境: Springboot+Vue+Element-ui 正文 這次上傳使用的是Elem...

    loostudy 評(píng)論0 收藏0
  • element的upload組件實(shí)現(xiàn)圖片上傳壓縮

    摘要:我用做狀態(tài)管理,七牛云做圖床。關(guān)于該組件的其他用法可以在的官方文檔查閱上傳對(duì)圖片進(jìn)行壓縮壓縮圖片的質(zhì)量對(duì)圖片進(jìn)行壓縮壓縮圖片實(shí)現(xiàn)起來比較簡(jiǎn)單。前端向后端請(qǐng)求上傳。 我用vuex做狀態(tài)管理,七牛云做圖床。 項(xiàng)目地址:多圖片上傳組件 效果展示 showImg(https://segmentfault.com/img/bVbocgG?w=960&h=516); 項(xiàng)目執(zhí)行流程 首先,讓我們來分...

    zorro 評(píng)論0 收藏0
  • 【PPic】基于Electron+Vue+iView的圖床應(yīng)設(shè)計(jì)

    摘要:其實(shí)這個(gè)應(yīng)用并不是那么的特別需求,一來本人寫越來越少,二來開發(fā)工作也是越做越少,再者目前的編輯器幾乎都支持直接剪切板上傳圖片,使圖床應(yīng)用的場(chǎng)景越來越少。 其實(shí)這個(gè)應(yīng)用并不是那么的特別需求,一來本人寫blog越來越少,二來開發(fā)工作也是越做越少,再者目前的編輯器幾乎都支持直接剪切板上傳圖片,使圖床應(yīng)用的場(chǎng)景越來越少。不過本人本著不想丟棄技術(shù)的內(nèi)心想法,以及鍛煉自己寫一個(gè)完整項(xiàng)目,還是開啟了...

    call_me_R 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<