<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
開發後臺管理專案時,遇到了上傳圖片的模組,這個比較簡單,但是儲存後的圖片需要編輯就比較麻煩了,自己記錄一下,也分享一下,多多指教
我這裡的實現是直接將圖片上傳到介面,成功後返回圖片路徑,表單提交時,後臺要路徑拼成的字串格式,類似str=‘/uploads/20220418/d93905dbcd041a0a88abc72fd34b6c98.jpg,/uploads/20220418/d93905dbcd041a0a88abc72fd34b6c98.jpg,/uploads/20220418/d93905dbcd041a0a88abc72fd34b6c98.jpg’;下面會介紹路徑處理方法
<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>
// 上傳成功 imgSuccess(res, file, fileList) { this.fileList = fileList; //這裡我是用一個fileList陣列存取,當儲存的時候進行圖片路徑處理 }, // 上傳失敗 imgError(res) { this.$message({ type: "error", message: "附件上傳失敗", }); }, // 刪除圖片 imgRemove(file, fileList) { this.fileList = fileList; }, // 附件上傳圖片預覽事件,這個就是將路徑直接放進一個彈窗顯示出來就可以了 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); //這個地方根據後臺返回的資料進行取值,可以先列印一下 } return arr.join(); } else { return '' } },
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.處理獲取到的圖片路徑,並進行處理展示到列表
// 表格編輯按鈕 tableBianji(row) { this.changeTanchuang = true; this.changeId = row.id; let form = { id: row.id }; let _this = this; //這是 我自己封裝的方法,不用理會,只看圖片路徑處理即可 this.request("url", "GET", form, function (res) { if (res.code == 1) { _this.changeTanchuangForm = res.data; //將字串轉成陣列 let arr = _this.changeTanchuangForm.up_file.split(","); for (let i = 0; i < arr.length; i++) { //建立物件,並將路徑進行ip地址拼接 let obj = { url: _this.requestUrl + arr[i], }; //放進圖片列表 _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.獲取最後列表存在的圖片(上傳兩張新的圖片後,進行列印的this.fileList1)
// 先判斷圖片是否更改 if (this.fileList1.length==0) { //如果為0,則表示沒有對圖片進行編輯,則不用更改任何東西 } else { //圖片進行了一些操作,包括刪除、新增; let arr = []; // 判斷是否是新上傳的 this.fileList1.map((item,index)=>{ if (item.response) { //是新上傳的,將路徑放進陣列 arr.push(item.response.data.url) } else { //原來存在的,將路徑進行擷取後放進陣列 let str = '/uploads'+item.url.split('/uploads')[1]; arr.push(str) } }) //處理後的路徑字串 let up_file = arr.join(',') }
就是使用vue結合element進行圖片上傳和編輯的一個操作,主要就是對圖片路徑的處理,這裡可能你的有些路徑是和我的不一樣的,這個是根據後臺返回的格式決定的,可以多列印幾次。OVER
到此這篇關於vue使用element實現上傳圖片和修改圖片功能的文章就介紹到這了,更多相關vue element上傳和修改圖片內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45