el-upload批量手动上传,并用form表单校验上传文件

这篇具有很好参考价值的文章主要介绍了el-upload批量手动上传,并用form表单校验上传文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

手动上传设置:auto-upload="false"文章来源地址https://www.toymoban.com/news/detail-627039.html

 <el-form
          ref="formData"
          class="formWidth"
          :model="formData"
          label-width="120px"
          :rules="rules"
        >
          <el-form-item
            label="数据"
            class="uploadClass"
            required
            prop="fileList"
          >
            <el-upload
              class="upload-demo"
              action="#"
              :on-change="handleChange"
              :on-preview="handlePreview"
              :auto-upload="false"
              accept=".jpg, .jpeg, .png, .jfif"
              :on-remove="handleRemove"
              :file-list="formData.fileList"
              multiple
              :limit="1000"
            >
              <el-button size="small" type="primary">选择文件</el-button>
              <div slot="tip" class="el-upload__tip">jpg/png/jfif</div>
            </el-upload>
          </el-form-item>
        </el-form>

        <vxe-button
          status="primary"
          :loading="confirmLoading"
          :content="confirmLoading ? '识别中' : '确认'"
          @click="confirmInfo()"
          size="small"
        ></vxe-button>
data() {
    return {
      // 上传参数
      addModel: false,
      formData: {
        fileList: [],
      },
      rules: {
        fileList: [
          { required: true, message: "请上传数据", trigger: "change" },
        ],
      },
      errorMsg: null, // 业务编码校验提示语
    }
  },
// 确认上传
    async confirmInfo() {
      // 整体表单校验
      this.$refs.formData.validate(async (valid) => {
        if (!valid) {
          return false;
        }
        this.confirmLoading = true;
        let pathUrl = [],i=0;
        for (let list of this.formData.fileList) {
          let targetRoute = `file/${list?.name}`;
          await putFile(targetRoute, list.raw);
          // 第一次上传oss的时候延迟5ms,用于oss上传函数请求成功并获得返回值,防止循环请求oss token获取函数
          if (i == 0) await this.delay(500);
          pathUrl.push(targetRoute);
          i++;
        }
        //此处写请求函数
        await this.$rquest.aaa()
      });
    },
    // 延迟函数
    async delay(ms) {
      return new Promise((resolve) => {
        setTimeout(resolve, ms);
      });
    },
    // 上传之前校验
    handleChange(file, fileList) {
      let fileName = file.name.substring(file.name.lastIndexOf(".") + 1);
      let typeInfo = ["jpg", "jpeg", "png", "jfif"];
      fileName = fileName.toLowerCase();
      if (!typeInfo.includes(fileName)) {
        this.$message({
          type: "warning",
          message: "请上传jpg/png/jfif格式的图片",
        });
        // 过滤掉不符合条件的文件
        this.formData.fileList = this.formData.fileList.filter(
          (list) => list.uid != file.uid
        );
        return false;
      }
      // 存储符合条件的所有fileList数据
      this.formData.fileList = fileList; // 存储上传的文件
    },
    handleRemove(file, fileList) {
      // 执行移除方法的时候重新更新数据
      this.formData.fileList = fileList;
      console.log(file, fileList);
    },
    handlePreview(file) {
      console.log(file);
    },

到了这里,关于el-upload批量手动上传,并用form表单校验上传文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • el-upload上传文件类型大小限制+手动上传+通过后端给的接口带参数

      本地上传文件类型只能是 xml 和 a2l 的 做多上传个数为2个 可以多选上传 每种格式最多上传一个文件 上传为手动上传到服务器 上传错误有相应的提示   首先上传为手动上传那么文件类型我是打算在选取文件到前端页面的过程中我就处理文件 或者也    可以在上传服务器的

    2024年02月08日
    浏览(87)
  • Vue中使用的el-upload时批量上传图片时报错问题处理

    项目场景:项目中有一个文件上传的场景,使用el-upload组件进行上传,单图上传是正常,但是在进行批量上传时报了错。 使用el-upload在进行多图批量上传时系统提示报错。 报错提示: Uncaught TypeError: Cannot set properties of null (setting \\\'status\\\')     at VueComponent.handleProgress (element-ui

    2024年02月06日
    浏览(30)
  • 【element-UI】el-upload本地上传图片,点击表单提交和一起上传,使用formdata对象上传

    需求效果如下图: 因为后端要求图片需要和其他参数一起提交,使用formdata对象携带参数,通过设置el-upload中action参数值为#,以及auto-upload(是否在选取文件后立即进行上传)为false 接口api

    2024年02月12日
    浏览(28)
  • 【el-upload】批量上传图片时在before-upload中添加弹窗判断时的踩坑记录

    上传文件前判断是否是pdf文件,如果是则弹出如下是否增加水印提示框 批量选择文件,碰到pdf文件,依次弹出如上提示框 若勾选了为后续pdf文件执行相同操作,则不再弹出如上提示框 若选择的文件中只有一个pdf文件,则不显示提示框中的复选框和“为后续pdf文件执行相同操

    2024年02月13日
    浏览(25)
  • Vue+elementUI中的el-upload实现上传文件给后端,限制上传文件的格式、文件的大小、文件的数量,将表单和Excel文件一起提交给后端

    需求:1.表单输入信息 2.上传Excel附件 3.下载附件模板 4.限制上传文件的格式、文件的大小、文件的数量 5.将表单和Excel文件一起提交给后端 效果图: 样式部分 data部分代码 method中的代码

    2024年02月12日
    浏览(42)
  • Vue+Element(el-upload+el-form的使用)+springboot

    目录 1、编写模板  2、发请求调接口  3、后端返回数据 1.编写实体类 2.Controller类  3、interface接口(Service层接口)  4.Service(接口实现) 5、interface接口(Mapper层接口) 6、xml 7、goods.sql 8、goods_img 4、upload相关参数   说明(该案例是一个el-form和el-upload结合的,逻辑是:需要

    2024年01月25日
    浏览(32)
  • elementui el-upload 上传文件

    在使用element中的el-upload上传文件或者图片时,需要先把el-upload的自动上传改为手动上传:auto-upload=“false”然后el-upload内部会调用this.$refs.upload.submit();方法,从而实现多个文件上传。 提示:以下是本篇文章正文内容,下面案例可供参考 代码如下(示例): 需要注意的是 acce

    2024年02月06日
    浏览(35)
  • el-upload上传文件携带额外参数

    在进行文件上传时,需要传递其他参数,比如下图中需要实现携带下拉框的参数 前端实现:将下拉框中的参数 传递到:data中  :data=\\\"{\\\'script_model\\\':script_model}\\\"    后端实现: 从post请求中获取携带的参数:  script_model = request.POST.get(\\\'script_model\\\')

    2024年02月11日
    浏览(37)
  • el-upload 文件上传组件的使用

    element-ui官网 element ui=upload上传组件 Upload 上传文件这个功能是我们在企业实际开发当中使用频率是非常高的这样一个文件上传的功能,,element ui组件组也给我们提供了上传的组件。所有我们一定要熟悉掌握它 使用之前先进行一下element ui的安装和配置 打开终端=输入npm i elem

    2024年02月11日
    浏览(34)
  • el-upload实现上传文件夹

    背景:如图一所示,最下面有一个黄色上传文件按钮,为手动上传而且上传区域有上传文件和上传文件夹的区分 所以需要在点击了上传文件夹做特殊处理使得el-upload可以上传文件夹 01.在拖拽上传的区域绑定一个点击事件 handlePreview ,(注意不要直接绑定在el-upload区域,会被触

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包