elementui 上传图片,elementui多图片上传

  elementui 上传图片,elementui多图片上传

  在做项目的时候遇到一个问题,前端需要上传表单到后端,表单数据包括文本内容和图片,这篇文章主要给大家介绍了关于某视频剪辑软件如何使用元素-用户界面表单发送数据与多张图片到后端的相关资料,需要的朋友可以参考下

  在做项目的时候遇到一个问题,前端需要上传表单到后端,表单数据包括文本内容和图片,后端我用的是Nodejs,效果类似下图

  前端需要向后端传商品名称,价格,描述,商品图片

  前端准备,利用元素-用户界面中的表单功能和上传功能,将上传代码嵌套在表单中,代码如下

  模板

  div class=内容

  div class=" form "

  El-Form ref= Form :model= Form label-width= 80px

  El-表单-项目标签=商品名称

  埃尔输入v-model=Form.name/el输入

  /El-表单-项目

  El-表单-项目标签=商品价格

  埃尔-输入v-model=形式。价格/El-输入

  /El-表单-项目

  El-表单-项目标签=商品描述

  埃尔输入v-model=Form.description/el输入

  /El-表单-项目

  埃尔-表单-项目

  埃尔-上传

  action=/api/users/addProduct

  list-type=图片卡

  :on-preview= handlePictureCardPreview

  :on-remove=handleRemove

  :上传前=产品上传前

  i class=el-icon-plus/i

  /El-上传

  El-dialog:可见。sync=对话框可见

  img width= 100% :src= dialogImageUrl alt=

  /el-dialog

  /El-表单-项目

  埃尔-表单-项目

  El-button type= primary @ click= submit 立即创建/el-button

  埃尔按钮取消/el-button

  /El-表单-项目

  /el格式

  /div

  /div

  /模板

  需要注意的是,上传中的行为传的是对应的后端接口

  在上传图片前,需要先将图片转成base64格式的字符串后再上传给后端,这里定义了产品上传前函数进行转码处理

  beforeProductUpload(文件){

  var _this=this

  返回新承诺(功能(解决,拒绝){

  var reader=new FileReader()

  reader.readAsDataURL(file)//这里是最关键的一步,转换成base64

  reader.onload=函数(事件){

  _这个Form.imageurl.push(事件。目标。结果)//定义参数获取图片路径

  }

  })

  脚本部分的代码

  脚本

  导出默认值{

  data() {

  返回{

  表单:{

  名称:,

  imageurl:[],

  价格:,

  描述:""

  },

  dialogImageUrl:" ",

  dialogVisible: false

  };

  },

  方法:{

  手柄移除(文件,文件列表){

  //移除图片

  console.log(文件,文件列表);

  },

  handlePictureCardPreview(文件){

  //图片预览

  这个。dialogimageurl=file。网址;

  this.dialogVisible=true

  },

  beforeProductUpload(文件){

  var _this=this

  返回新承诺(功能(解决,拒绝){

  var reader=new FileReader()

  reader.readAsDataURL(file)//这里是最关键的一步,转换成base64

  reader.onload=函数(事件){

  _这个Form.imageurl.push(事件。目标。结果)//定义参数获取图片路径

  }

  })

  },

  提交(){

  var form={

  名字:这个Form.name,

  imgdata:这个Form.imageurl,

  价格:这个。形式。价格,

  描述:这个。表单。描述

  }

  这个100美元axios。发布(/API/用户/添加产品,表单).然后(res={

  console.log(res.data)

  这个. $消息(发布成功)

  这个. Form=

  console.log(上传成功)

  })

  }

  }

  }

  /脚本

  定义一个imageurl数组来接收传入的image base64代码,然后将它传递给form对象中节点的后端,并将其保存在数据库中。这里我使用的是mongodb数据库,您可以看到数据已经被传递给了数据库。imgdata是存储图像base64的对象。

  自那时以来,这一期已顺利完成。

  总结

  关于Vue如何通过使用Element-ui表单向后端发送数据和多张图片的文章到此结束。关于Vue使用Element-ui向后端发送数据的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

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

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