elementui实现图片上传,element 上传图片

  elementui实现图片上传,element 上传图片

  前几天做了一个图片上传功能。下面文章主要介绍vue使用element上传和修改图片功能的相关信息。通过示例代码非常详细的介绍,有需要的朋友可以参考一下。

  

目录

  前言1。应用场景1。上传图片并放大预览。2.上传图片的代码。2.修改上传的图片并显示在图片列表中。1.展示效果(先展示原图,再上传新图,或者删除原图)。2.编辑代码摘要。

  

前言

  在开发后台管理项目的时候,遇到了上传图片的模块,比较简单,但是编辑保存的图片比较麻烦。请自己记录下来分享,并给我你的评价。

  

一、应用场景

  

1.上传图片并进行放大预览

  

2.图片上传代码

  我这里的实现是直接上传图片到界面,成功后返回图片路径。表单提交时,后台需要路径拼写的字符串格式,类似str=/uploads/20220418/d 93905 dbcd 041 a 0a88abC72fd34b6c98.jpg、/uploads/20220418/d 93905 dbcd 041 a 0a 88 ABC 72 FD 34 b 6 c 98 . jpg、/uploads/202220418/d 93905 dbcd 041 a 0a 88 ABC 72 FD 34 b 6 c 98 . jpg ;下面将描述路径处理方法。

  El-上传

  :action=“上传图片的接口地址”

  list-type=图片卡

  :on-preview= handlePictureCardPreview

  :on-success=imgSuccess

  :on-error=imgError

  :on-remove=imgRemove

  i class=el-icon-plus/i

  /El-上传

  //上传成功

  imgSuccess(res,file,fileList) {

  this . file list=file list;

  //这里我用一个fileList数组来访问和处理保存时的图像路径。

  },

  //上传失败

  图像错误(res) {

  这个。$message({

  类型:“错误”,

  消息:“附件上传失败”,

  });

  },

  //删除图片

  imgRemove(文件,文件列表){

  this . file list=file list;

  },

  //附件上传图片预览事件,这是把路径直接放到一个弹出窗口中显示。

  handlePictureCardPreview(文件){

  this . dialogimageurl=file . URL;

  this.dialogVisible=true

  },

  //处理图片路径

  setImgUrl(imgArr) {

  设arr=[];

  if (imgArr.length0) {

  for(设I=0;i imgArr.lengthi ) {

  const element=im garr[I];

  arr . push(element . response . data . URL);

  //这个地方根据后台返回的数据取值,可以先打印出来。

  }

  返回arr . join();

  }否则{

  返回“”

  }

  },

  

二、修改已经上传的图片,并展示到图片列表中

  

1.效果展示(先展示原来的图片,再上传新图片,也可删除原来的图片)

  

2.编辑代码

  1.编辑组件代码

  El-上传

  :action=“上传图片的接口地址”

  list-type=图片卡

  :on-preview= handlePictureCardPreview

  :on-success=imgSuccess1

  :on-error=imgError1

  :on-remove=imgRemove1

  :file-list=fileList2

  i class=el-icon-plus/i

  /El-上传

  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(设I=0;长度;i ) {

  //创建对象并拼接路径的ip地址。

  让obj={

  url: _this.requestUrl arr[i],

  };

  //放在图片列表里

  _ this . filelist 2 . push(obj);

  }

  }否则{

  _这个。$message({

  消息:res.msg,

  类型:“错误”,

  });

  }

  });

  },

  3.如何编辑图片插件?

  File1用于放置插件修改的图像路径。

  //删除图片

  imgRemove1(文件,文件列表){

  this . file list 1=file list;

  },

  //上传成功

  imgSuccess1(res,file,fileList) {

  this . file list 1=file list;

  },

  //上传失败

  imgError1(res) {

  这个。$message({

  类型:“错误”,

  消息:“附件上传失败”,

  });

  },

  4.获取最后一个列表中存在的图片(上传两张新图片后,打印this.fileList1)

  //先判断图片是否有改动。

  if (this.fileList1.length==0) {

  //如果是0,说明图片没有经过编辑,所以不需要修改什么。

  }否则{

  //对图片进行了一些操作,包括删除和添加;

  设arr=[];

  //确定是否是新上传的。

  this.fileList1.map((item,index)={

  if (item.response) {

  //是新上传的,把路径放入数组

  arr . push(item . response . data . URL)

  }否则{

  //现有的,截取路径放入数组。

  let str=/uploads item . URL . split(/uploads )[1];

  arr.push(字符串)

  }

  })

  //处理后的路径字符串

  let up_file=arr.join(,)

  }

  

总结

  是利用vue结合元素上传编辑图片的操作,主要是图片路径的处理。这里你的一些路径可能和我的不一样,这个是根据后台返回的格式决定的,你可以多打印几次。超过

  关于vue使用element上传和修改图片的文章到此结束。有关vue元素上传和修改图像的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: