- Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的MultipartResolver实现的。Spring用Jakarta Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResovler
- SpringMVC上下文中默认没有装配MultipartResovler,因此默认情况下不能处理文件的上传工作,如果想使用Spring的文件上传功能,需先在上下文中配置MultipartResolver
我们来完成一个基本的文件上传操作
第一步:加入jar包
第二步:springmvc.xml下配置MultipartResovler
这里可以配置相应的文件识别编码,上传文件的大小限制等等
<!--实现文件上传操作-->
<!--配置MultipartResolver-->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/>
<property name="maxUploadSize" value="1024000"/>
</bean>
第三步:写一个目标方法
/*MultipartResolver实现文件上传操作*/
@RequestMapping("/testFileUpload")
public String testFileUpload(@RequestParam("desc") String desc,
@RequestParam("file") MultipartFile file) throws IOException{
System.out.println("desc:"+desc);
System.out.println("OriginalFilename: "+file.getOriginalFilename());
System.out.println("InputStream: "+file.getInputStream());
return "success"; //转到success页面去
}
第四部:前端页面写一个form让我们上传页面
<form action="testFileUpload" method="post" enctype="multipart/form-data">
File:<input type="file" name="file"/>
Desc:<input type="text" name="desc"/>
<input type="submit" value="Submit">
</form>
第五步:完成最后的success页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h4>Success Page</h4>
</body>
</html>
显示效果: