SpringMVC处理文件上传
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC处理文件上传相关的知识,希望对你有一定的参考价值。
Spring MVC处理文件上传
Spring MVC为文件上传提供了直接支持,这种支持是通过即插即用的MultipartResolver实现. Spring使用Jakarta Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResolver。
在SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下不能处理文件上传工作。如果想使用Spring的文件上传功能,则需要先在上下文中配置MultipartResolver。
- 引入jar包!
commons-fileupload.jar
commons-io.jar
maven项目pom.xml
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
- 配置MultipartResolver
配置
<!--multipartResolver配置 id必须为multipartResolver-->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:defaultEncoding="UTF-8"
p:maxUploadSize="5242880"
p:uploadTempDir="file:/d:/file/temp"
/>
- 编写控制器和文件上传表单
编写文件上传表单 upload.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<center>
<form method="post" enctype="multipart/form-data" action="user/upload">
上传图片:
<input type="file" name="file" />
<button>提交</button>
</form>
</center>
</body>
</html>
编写控制器代码
1. @RequestMapping("/toUpload") public String toUpload()
//跳转到上传页面
return "user/upload";
@RequestMapping("/upload") public String
saveFile(@RequestParam("file")MultipartFile file) throws IOException
//接收表单提交的数据,包含文件
System.out.println("name = " + name);
// baseurl=D:\\workspace_idea1\\TestSSM\\target\\TestSSM\\upload\\
String basePath=request.getSession().getServletContext().getRealPath("/upload/");
System.out.println(basePath);
try
file.transferTo(new File(basePath+file.getOriginalFilename()));
catch (IOException e)
e.printStackTrace();
return "success";
以上是关于SpringMVC处理文件上传的主要内容,如果未能解决你的问题,请参考以下文章