Spring MVC+Maven 轻松实现上传文件功能
来源:互联网 发布:数据分析师市场需求 编辑:程序博客网 时间:2024/06/06 08:29
在做上传文件功能时,首先得有一个建立完毕的Spring MVC项目。这里我以Spring MVC的HelloWord工程来示例,当然你也可以在你已有的Spring MVC工程下进行操作。
建立Spring MVC的HelloWord工程的步骤请参考文章:手把手教你创建一个Maven+Spring MVC的HelloWorld
Spring MVC的HelloWord工程的源码:http://download.csdn.net/detail/u012660464/9695653
下面分别记录下如何上传单个文件和上传多个文件。
一、上传单个文件
步骤如下:
1、在前端控制器配置文件(本项目所取的名字是:spring-mvc-servlet.xml)中加入上传文件所需的Bean。
2、在pom.xml中注入上传文件所需的依赖
3、在项目views文件夹(项目中装页面的文件夹)下新建一个上传单个文件的页面
@uploadFile.jsp
注:
(1)form表单提交的类型一定要加上enctype="multipart/form-data",表示不对所提交的内容编码。
(2)action="" 路径中前面要加项目名,这里项目名是HelloSpringMVC。
(3)doUpload是本表单所提交的对应的处理方法。名为doUpload。(4)input节点的name="file"中的file与doUpload方法所接收的参数名称一致。
(5)MultipartFile类常用的一些方法:
String getContentType()//获取文件MIME类型
InputStream getInputStream()//获取文件流
String getName() //获取表单中文件组件的名字
String getOriginalFilename() //获取上传文件的原名
long getSize() //获取文件的字节大小,单位byte
boolean isEmpty() //是否为空
void transferTo(File dest) //保存到一个目标文件中。
4、定义访问成功的页面
@success.jsp
5、在Controller类中加入访问入口方法(就是定位到上传单个文件的页面)
6、在Controller类中定义上传文件的响应方法(就是表单中的所提交的action中的方法名)
7、运行验证:
二、上传多个文件
步骤如下:
1、2、4步骤同上传单个文件一样,无需重复。
3、在项目views文件夹(项目中装页面的文件夹)下新建一个上传多个文件的页面
@uploadMultifile.jsp
注:
(1)form表单提交的类型一定要加上enctype="multipart/form-data",表示不对所提交的内容编码。
(2)action="" 路径中前面要加项目名,这里项目名是HelloSpringMVC。
(3)doMultiUpload是本表单所提交的对应的处理方法。名为doMultiUpload。
(4)要传几个文件就加入几个 <input type="file" name="file2"/> 不过name的值要不同
5、在Controller类中加入访问入口方法(就是定位到上传多个文件的页面)
6、在Controller类中定义上传文件的响应方法(就是表单中的所提交的action中的方法名)
注:
1、这里与上传单个文件处理方法不同的是接收参数由MultipartFile类型变为了MultipartHttpServletRequest。
2、MultipartFile由MultipartHttpServletRequest对象的getFile(fileName)方法获得。
/*** * 保存文件 * @param file * @return */ private boolean saveFile(MultipartFile file) { // 判断文件是否为空 if (!file.isEmpty()) { try { // 文件保存路径 String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/" + file.getOriginalFilename(); // 转存文件 file.transferTo(new File(filePath)); return true; } catch (Exception e) { e.printStackTrace(); } } return false; } @RequestMapping("filesUpload") public String filesUpload(@RequestParam("files") MultipartFile[] files) { //判断file数组不能为空并且长度大于0 if(files!=null&&files.length>0){ //循环获取file数组中得文件 for(int i = 0;i<files.length;i++){ MultipartFile file = files[i];if (!file.exists()) { // 判断文件夹是否存在file.mkdirs(); // 不存在则创建}//保存文件 saveFile(file); } } // 重定向 return "redirect:/list.html"; }
- Spring MVC+Maven 轻松实现上传文件功能
- Spring MVC+Maven 轻松实现上传文件功能
- Spring MVC+Maven 轻松实现上传文件功能
- Spring Web mvc Maven实现文件上传
- Spring Web mvc Maven实现文件上传
- Spring MVC 实现文件上传功能
- Spring MVC+Maven 上传文件
- Spring MVC实现文件的上传和下载的功能
- Spring MVC环境中的文件上传功能实现
- Spring MVC 实现文件上传
- spring MVC实现文件上传
- Spring MVC实现文件上传
- Spring mvc实现文件上传
- Spring mvc 实现文件上传
- Spring MVC实现文件上传
- spring 文件上传功能实现
- Spring MVC 实现图片上传功能
- ajax + spring mvc 实现上传功能
- Vim 移动
- JavaScript总结 04
- HDOJ 1303 Doubles(水)
- spring-AOP引入
- 差分约束概述
- Spring MVC+Maven 轻松实现上传文件功能
- Windows下安装PyQt4+python2.7+(nltk+wordcloud+jieba+pyinstaller打包)——词频分析软件
- JSP九大内置对象及四个作用域
- JavaSwing不规则窗体
- 【SQL】SQL Server 2008入门知识
- NOIP2009 解题报告
- strStr算法实现
- 文本文件的读写
- Photoshop常用操作