作者:ssslinppp      

1. 摘要



前篇文章讲解了单文件上传《【Spring学习笔记-MVC-13】Spring MVC之文件上传》http://www.cnblogs.com/ssslinppp/p/4607043.html (请参考)。本文主要讲多文件上传的过程。
主要区别在于控制层代码不同,同时,jsp代码也有相应修改。

2. 添加jar包



  1. commons-fileupload-1.2.2.jar;
  2. commons-io-2.0.1.jar;

3. 配置CommonsMultipartResolver





说明:
  • p:defaultEncoding="UTF-8":这里设置默认的文件编码为UTF-8,必须与用户JSP的默认编码一致;
  • p:maxUploadSize="5000000":指定文件上传大小,单位为字节;
  • p:uploadTempDir="upload/temp":文件上传临时目录,上传完成后,就会将临时文件删除;

4.控制层代码




  1. @RequestMapping(value = "/upload")
  2. public String updateThumb(HttpServletRequest request,
  3. HttpServletResponse response, ModelMap mmMap)
  4. throws IllegalStateException, IOException {
  5. // 创建一个通用的多部分解析器
  6. CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
  7. request.getSession().getServletContext());
  8. //判断 request 是否有文件上传,即多部分请求
  9. if(multipartResolver.isMultipart(request)){
  10. //转换成多部分request
  11. MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
  12. //取得request中的所有文件名
  13. Iterator<String> iter = multiRequest.getFileNames();
  14. while(iter.hasNext()){
  15. //取得上传文件
  16. MultipartFile file = multiRequest.getFile(iter.next());
  17. //对上传文件进行处理
  18. if(!file.isEmpty()){
  19. String path = request.getSession().getServletContext()
  20. .getRealPath("upload");
  21. String fileName = file.getOriginalFilename();
  22. File targetFile = new File(path, fileName);
  23. if(!targetFile.exists()){
  24. targetFile.mkdirs();
  25. }
  26. //保存
  27. try {
  28. file.transferTo(targetFile);
  29. System.out.println("保存文件【"+file.getOriginalFilename()+"】完成...");
  30. } catch (Exception e) {
  31. e.printStackTrace();
  32. }
  33. }
  34. }
  35. }
  36. return "success";
  37. }



5. 前台JSP





6. 上传结果






其他





附件列表

【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传的更多相关文章

  1. 【Spring学习笔记-MVC-15.1】Spring MVC之异常处理=404界面

    作者:ssslinppp       异常处理请参考前篇博客:<[Spring学习笔记-MVC-15]Spring MVC之异常处理>http://www.cnblogs.com/sssl ...

  2. 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回

    作者:ssslinppp      时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MV ...

  3. Spring MVC 使用介绍(十四)文件上传下载

    一.概述 文件上传时,http请求头Content-Type须为multipart/form-data,有两种实现方式: 1.基于FormData对象,该方式简单灵活 2.基于<form> ...

  4. Spring学习笔记(一)—— Spring介绍及入门案例

    一.Spring概述 1.1 Spring是什么 Spring是一个开源框架,是于2003年兴起的一个轻量级的Java开发框架, 由Rod Johnson 在其著作<Expert one on ...

  5. spring mvc利用MultipartResolver解析Multipart/form-data进行文件上传

    之前的表单数据都是文本数据,现记录:利用MultipartResolver进行文件上传. ①首先,需引入commons-fileUpload和commons-io jar包,pom.xml文件的坐标: ...

  6. maven中的pom配置文件一——spring,mybatis,oracle,jstl,json,文件上传

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  7. Spring学习笔记(四)-- Spring事务全面分析

    通过本系列的文章对Spring的介绍,我们对Spring的使用和两个核心功能IOC.AOP已经有了初步的了解,结合我个人工作的情况,因为项目是金融系 统.那对事务的控制是不可缺少的.而且是很严格的控制 ...

  8. Spring学习笔记4—流程(Spring Web Flow)

    Spring Web Flow是Spring框架的子项目,作用是让程序按规定流程运行. 1 安装配置Spring Web Flow 虽然Spring Web Flow是Spring框架的子项目,但它并 ...

  9. Spring学习笔记(二)Spring基础AOP、IOC

    Spring AOP 1. 代理模式 1.1. 静态代理 程序中经常需要为某些动作或事件作下记录,以便在事后检测或作为排错的依据,先看一个简单的例子: import java.util.logging ...

随机推荐

  1. SQL Server 调优系列进阶篇 - 如何索引调优

    前言 上一篇我们分析了数据库中的统计信息的作用,我们已经了解了数据库如何通过统计信息来掌控数据库中各个表的内容分布.不清楚的童鞋可以点击参考. 作为调优系列的文章,数据库的索引肯定是不能少的了,所以本 ...

  2. python的if语法

    在赋值表达式中 a=a+3 if a else 0 这种简洁的语法,似乎必须要跟上else,不能写成 a=a+3 if a ,否则会报错

  3. 宿主环境(host environment)

    在此前的内容中,我讨论的都是JavaScript语言及其规范,而并非该语言的应用环境.在大多数人看来,JavaScript应用环境都是Web浏览器,这也的确是该语言最早的设计目标.然而从很早开始,Ja ...

  4. Python 常用扩展库(八)

  5. Windows 7 + PHP 5.3 + WAMP 下 Imagick 扩展安装

    1.首先,下载 ImageMagick 安装包.下载地址 下载后运行此安装包.在系统环境变量中添加 MAGICK_HOME 变量,指向安装目录下的modules\coders. 2.下载 Imagic ...

  6. 2018-2019-2 网络对抗技术 20165202 Exp5 MSF基础应用

    博客目录 一.实践目标 二.实践内容 一个主动攻击实践,ms08_067(成功).ms03_026(成功且唯一); 一个针对浏览器的攻击,如ms11_050(成功)ms11_03(失败.唯一)ms10 ...

  7. mac下搭建discuz论坛

    1.开启web共享.(Mountain Lion参考:http://www.guomii.com/posts/30136) 2.支持php. http://www.cnblogs.com/elfsun ...

  8. ios 从网络上获取图片

    -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIImage * result; N ...

  9. SharePoint 2010: Change welcome page on PowerShell

    摘要: SharePoint 2010之后呢, 建立一个 Team Site会有两个 default page, 分别是 Sitepages/home.aspx and default.aspx. 这 ...

  10. 第三课 操作系统开发之x86模拟环境搭建

    前面我们讲解了主引导程序的加载过程,并且制作了虚拟软盘a.img,最终这个主引导程序也在机器中成功运行了,但是实际开发的时候,并不会如此简单,免不了调试过程,如果还像上一节中直接将软盘放到机器中去加载 ...