功能:多文件上传,统一提交

简介: 功能:多文件上传,统一提交

一、需求:

前端实现多文件上传,统一提交上传后服务器返回来的数据,最后一个文件上传完成后立即提交保存,不能间隔时间。

二、思路分析:

2.1、点击上传-->调用file方法-->调用upload方法,我们定义两个变量flagA和flagB,分别记录两个方法执行的次数,每次执行+=1,file先执行,upload后执行,所以upload方法结束后我们我们比较flagA和flagB的值,如果flagA大于flagB说明还有文件要上传,如果flagA等于flagB说明已经是最后一个文件了。这个时机就是我们调用保存的时机。

2.2、以上传三个文件为例:

file upload 对比flag 结果
文件1 flagA+=1 flagB+=1 flagA > flagB 没有上传完成
文件2 flagA+=1 flagA+=1 flagA > flagB 没有上传完成
文件3 flagA+=1 flagA+=1 flagA = flagB 上传完成,执行方法

三、代码:

3.1、定义flag:

flagA: 0, // 记录file
flagB: 0, // 记录upload

3.2、记录file:

toRequestFile(data) {
   this.flagA += 1
   this.toRequest(data, 'file');
},

3.3、记录upload:

toRequest(data, type) {
      const fd = new FormData();
      fd.append('file', data.file);
      commonUpload(fd).then(res=>{
        this.$message({ type: 'success', message: '上传成功' });
      }).finally(()=>{
        this.flagB += 1 // 记录upload
        console.log('914flagA-flagB', this.flagA, this.flagB)
      })
    },

3.4、效果:

上传三个文件,三次次upload执行完成打印3,3,说明三个文件都执行完成。

四、欢迎交流指正,关注我,一起学习。

相关文章
|
2月前
|
API 数据库
Activiti 流程资源文件下载及历史信息查询
Activiti 流程资源文件下载及历史信息查询
22 0
|
6月前
文件上传功能实现
文件上传功能实现
|
5月前
|
前端开发
SSM整合-前后台协议联调(列表功能、添加功能、添加功能状态处理、修改功能、删除功能)
SSM整合-前后台协议联调(列表功能、添加功能、添加功能状态处理、修改功能、删除功能)
35 0
|
SQL 中间件 API
超详细讲解大事件项目api接口(二)
超详细讲解大事件项目api接口(二)
348 0
超详细讲解大事件项目api接口(二)
|
2天前
|
前端开发
基于jeecgboot的flowable流程支持退回到发起人节点表单修改功能
基于jeecgboot的flowable流程支持退回到发起人节点表单修改功能
14 0
|
2天前
Flowable流程中自定义业务表单并行审批的bug修复
Flowable流程中自定义业务表单并行审批的bug修复
|
2天前
|
SQL JavaScript 前端开发
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(一)
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(一)
18 2
|
2天前
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(三)
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(三)
|
2天前
|
前端开发
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(二)
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(二)
10 1
|
10月前
|
JSON 前端开发 JavaScript
layui上传文件弹出请求上传接口出现异常的终极解决方案(v2.68版本、ajax底层逻辑修改、debug快速定位)
layui上传文件弹出请求上传接口出现异常的终极解决方案(v2.68版本、ajax底层逻辑修改、debug快速定位)
559 0