作者: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. 上传结果

http://localhost:8080/SpringMVCTest/test/uploadPage.action 


其他


博客: http://www.cnblogs.com/ssslinppp 
http://blog.sina.com.cn/spstudy 
代做毕设淘宝: http://shop110473970.taobao.com/?spm=a230r.7195193.1997079397.42.AvYpGW 
http://shop125186102.taobao.com/?spm=a1z10.1-c.0.0.SsuajD     



来自为知笔记(Wiz)

附件列表

【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传相关推荐

  1. Android学习笔记---28_网络通信之通过HTTP协议实现文件上传,组拼http 的post方法,传输内容

    28_网络通信之通过HTTP协议实现文件上传 ---------------------------------------------- 1.注意,做表单提交的时候:程序代码;   <form ...

  2. Spring学习笔记:第一个Spring Boot程序HelloWorld

    Spring学习笔记:第一个Spring Boot程序HelloWorld 一.跟着 Spring 了解技术趋势 1.看看 Spring 5.x 的改变暗示了什么 2.Spring Boot 和 Sp ...

  3. 网络编程学习(11)/ FTP项目(5) ——文件上传和上传断点续存功能

    网络编程学习(11)/ FTP项目(5) --文件上传和上传断点续存功能 `服务端 lib 文件夹下的 main.py 状态码的变化` 文件上传功能 `服务端 lib 文件夹下的 main.py` ` ...

  4. Spring MVC数据转换、格式化、校验、文件上传和下载

    本篇文章主要分享下自己在学习Spring MVC数据转换.格式化和数据校验.Spring MVC文件上传和下载以及Spring MVC拦截器遇到的一些问题和读书笔记,希望对你有所帮助. @Compon ...

  5. Spring Mvc 数据回显、异常处理、文件上传、json交互、ResTful、拦截器的使用(高级三)

    1,数据回显 SpringMvc包含三种数据回显机制 第一种:对于简单数据类型,如:Integer.String.Float等使用Model将传入的参数再放到request域实现显示. (回顾jsp四 ...

  6. MVC分层+JDBC+数据库+Servlet实现JSP文件上传和显示+模糊查询+分页

    本文章主要介绍了一个简单的实例:用简单的MVC分层思想,使用数据库在web界面进行增删改查,以及上传,模糊查询+分页的实现. 1.util层(数据库连接管理) :连接数据库需要导包:mysql-con ...

  7. 遇见狂神说 - Spring学习笔记(一)- Spring基础概述

    目录 1.What? Spring是一个轻量级控制反转和面向切面的容器框架 历史: 2002年,首次推出了Spring框架的雏形:interface21框架 Spring框架以interface21框 ...

  8. .net mvc 超过了最大请求长度 限制文件上传大小

    在我们的项目中遇到"超过了最大请求长度"如下图所示,是因为IIS默认请求长度4M,当请求长度大于这个值的时候报错,下面是解决方案. 解决方案:修改web.config文件 1.注意 ...

  9. Spring 学习笔记(二)Spring AOP

    前言 容器和AOP是Spring的两大核心.本文将来学习Spring AOP. AOP是什么? AOP在计算机科学领域还是相对年轻的概念,由Xerox PARC公司发明.Gregor Kiczales ...

最新文章

  1. (转载)你所知晓的dt.jar
  2. 2016.11.17随笔
  3. 2020-12-08 tensorflow model.fit_generator()函数参数
  4. 使用IntelliJ书签
  5. 使用opensll的md5对于string进行加密
  6. 【计算机网络复习 数据链路层】3.4.1 流量控制与可靠传输机制
  7. 【kafka】Kafka中的动态配置源码分析
  8. 整数的素因子分解:Pollard rho method
  9. EndpointAddress——不只是一个Uri[上篇]
  10. 计算机周杰伦谱子,我好想要周杰伦稻香的电脑键盘钢琴琴谱br/请问哪位大侠知道的? 爱问知识人...
  11. java谜题读书笔记_《java深度历险》读书笔记(一)
  12. 将“闲置资源”重新利用,这家公司重组闲置市场
  13. 如何将spine的素材导入unity
  14. 路由的实现原理是什么?
  15. svn没有对号等符号的问题
  16. 代码阅读总结之Fitch and Mather 7.0(资源文件Resource随笔)
  17. 证件识别、驾驶证识别技术
  18. 计算机培训黑板报,电子板报的教学计划
  19. C语言学生成绩管理系统源代码
  20. ASP.NET Core 3.1系列(30)——Newtonsoft.Json实现JSON的序列化和反序列化

热门文章

  1. log4j配置不生效
  2. sublime设置tab为四个空格
  3. Tips_方格拼图效果
  4. 使用json-server模拟REST API
  5. 远程mysql出现ERROR 1130 (HY000): Host '172.17.42.1' is not allowed to connect to this MySQL server...
  6. 判断 多选框是否有选择 适用于批量操作
  7. Flex使用cookie保存登状态
  8. 在任意的远程桌面的session中运行指定的程序
  9. 利用存储过程来实现分页性能比较
  10. Redis第一集:Windows下安装Redis和测试