Sping MVC_06_文件上传_02_使用Ajax提交多文件数组上传

6.2.1 js插件jquery.form.js

jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地、无侵入地升级HTML表单以支持Ajax。

jQuery Form有两个核心方法:
ajaxForm()ajaxSubmit(),它们集合了从控制表单元素到决定如何管理提交进程的功能。

另外,插件还包括其他的一些方法: formToArray()formSerialize()fieldSerialize()fieldValue()clearForm()clearFields()resetForm()等。

jquery.form.js的下载地址:
http://malsup.com/jquery/form/#download

js插件jquery.form.js

6.2.2 多文件提交页面

实现多文件的提交页面,可以在提交页面的表单form中编写多个file类型的text控件,各个控件的名称相同。
多文件提交页面
在页面的js部分使用jquery.form.js进行提交:
使用jquery.form.js进行提交

6.2.3 后台控制器方法

对于后台控制器的方法可以使用数组参数形式接收:

@ResponseBody
@RequestMapping("method2")
public List<String> method2(@RequestParam(value = "headimg") MultipartFile[] files,
                            Handsome handsome) throws IOException {

    String path = "D:\\Develop\\Tomcat\\Server\\webapps\\uploadfiles\\";

    List<String> fileNames = new ArrayList<>();
    for(int i = 0; i < files.length; i++){
        MultipartFile file = files[i];

        StringBuilder filePath = new StringBuilder(path);
        filePath.append(UUID.randomUUID().toString());
        String fileName = file.getOriginalFilename();
        filePath.append(fileName.substring(fileName.lastIndexOf(".")));

        File localFile = new File(filePath.toString());

        file.transferTo(localFile);
        fileNames.add(localFile.getName());
    }

    return fileNames;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值