html批量提交表单,js使用formData实现批量上传_含真_前端开发者

本文介绍了如何使用FormData对象进行前端批量上传附件,包括三种不同的实现方式:动态添加input、使用multiple属性和全局数组管理文件。详细讲解了每种方式的实现代码和操作步骤,结合实际项目需求,帮助开发者理解并应用批量上传功能。
摘要由CSDN通过智能技术生成

最近项目需要批量上传附件,查了下资料,网上很多但看着一脸懵,只贴部分代码,介绍也不详细,这里记录一下自己的采坑与多种实现,以免以后忘记。

这里先介绍下FormData对象,以下内容摘自地址

XMLHttpRequest Level 2添加了一个新的接口FormData.利用FormData对象,我们可以通过JavaScript用一些键值对来模拟一系列表单控件,我们还可以使用XMLHttpRequest的send()方法来异步的提交这个”表单”.比起普通的ajax,使用FormData的最大优点就是我们可以异步上传一个二进制文件.

在我的自定义input文件上传样式里就已经实现里单文件上传,并且实现了自定义input样式;如果构造FormData对象是传入表单

先看一下大概效果:

ad5fc2cb06b08340ede9d0b5f969636f.png

controller有两种方法:三种方式调的都是用一个接口

/**

* 批量上传

*/

@PostMapping("upload")

public ResultModel> upload(HttpServletRequest request, @RequestParam("applyId") String applyId){

List multipartFileList = ((MultipartHttpServletRequest) request).getFiles("attachment");

System.out.println(multipartFileList.size());

System.out.println(applyId);

return null;

}

/**

* 批量上传2 (推荐使用)

*/

@PostMapping("upload2")

public ResultModel> upload2(MultipartFile[] attachment,@RequestParam("applyId") String applyId){

System.out.println(attachment.length);

System.out.println(applyId);

return null;

}

方式1

点击Add,追加一个input,点击Delete,删除一个input,点击叉号也可以删除对应的input,需要单独为每个input选择文件<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值