vue element图片、视频上传删除回显,动态添加上传组件的区分字段上传

这篇博客记录了在Vue.js项目中使用ElementUI进行图片和视频上传的完整流程,包括单张图片上传、多图片上传以及动态添加表单项的多张图片上传。博主解决了动态组件的回显、删除和格式限制问题,特别是通过在before-upload中传入index以区分不同上传组件的数据,实现了复杂场景下的上传管理。
摘要由CSDN通过智能技术生成

每次遇到图片上传都很麻烦 其中删除 回显 格式限制,很繁琐,特别遇到动态添加多个上传组件 进行分别上传时, 这次终于全部搞定 ,特地记录下来整个过程。

需求:
添加图片、添加视频、添加多个图片、动态添加多个上传组件
主要分为三个部分:1、单图片上传 2、多图片上传 3、动态添加表单项的多个上传(复杂、难点)
在这里插入图片描述

在这里插入图片描述

多个动态添加 多张图片 单张图片上传 还有回显的问题
1、单张图片上传 :用的是element 上传组件 自动上传:http-request 上传成功之后 将后台图片地址赋值给表单回显

 <el-form-item label="缩略图:" prop="cover">
          <el-upload
            class="avatar-uploader"
            action=""
            :show-file-list="false"
            :http-request="handleLogo"
          >
            <img v-if="ruleForm.cover" :src="ruleForm.cover" class="avatar" />
            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
          </el-upload>
          <div>
            (图片展示在前台采购商列表中,建议上传企业logo或产品图,最多1张图片,支持PNG、JPEG、GIF格式图片,单张图片不超过20M)
          </div>
        </el-form-item>
 // logo
    handleLogo(item) {
   
      console.log(item)
      //验证图片格式大小信息
      const isJPG =
        item.file.type == 'image/jpeg' ||
        item.file.type == 'image/png' ||
        item.file.type == 'image/gif'
      const isLt2M = item.file.size / 1024 / 1024 < 20
      if (!isJPG) {
   
        this.$message.error('上传图片只能是 JPG 或 PNG或 GIF 格式!')
        return false
      }
      if (!isLt2M) {
   
        this.$message.error('上传图片大小不能超过 20M!')
        return false
      }
      //图片格式大小信息没问题 执行上传图片的方法
      if (isJPG && isLt2M == true) {
   
        //定义FormData对象 存储文件
        let mf = new FormData()
        //将图片文件放入mf
        mf
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值