1.前言
需求是使用 jquery 的 ajax 异步提交表单,当然,不是简单的数据,而是包含文件数据的表单。于是我想到了 new FormData() 的用法,
可是仍然提交失败,原来是ajax的属性需要修改才可以
【同步在form标签 添加几个属性即可,这里就不解释了】
2.前端表单源码,【同时上传多文件,name属性要相同后台才可以以数组的形式获取】
1 <form id="myform"> 2 <input type="file" name="fi"> 3 <input type="file" name="fi">
//按钮部分省略
// 4 </form>
3.js 的 ajax写法源码 ,红色箭头代码是关键
4.后台接收文件数组截图 ,变量名称一定要与form表单的文件input 的name属性值 一致
5 . MultipartFile 和 CommonsMultipartFile 类型的区别
其实 MultipartFile 是接口名称 ,CommonsMultipartFile是 接口 MultipartFile 的具体实现类 ,因此 ,使用 CommonsMultipartFile必须定义参数名称 ,
前面需要加 @Param("参数名称") ,
看起来很冗余 , 因此使用接口 MultipartFile 是最简洁的 , 加 【】则表示是数组型 ,用for循环遍历即可取出每一个