SpringMVC_文件上传
一、文件上传
1、说明
- SpringMVC为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的。Spring用 Jakarta Commons FileUpload 技术实现了一个 MultipartResolver 实现类:CommonsMultipartResovler
- SpringMVC 上下文中默认没有装配 MultipartResolver ,因此默认情况下不能处理文件上传工作,如果想使用 Spring 的文件上传功能,需先在上下文中配置 MultipartResolver 。
2、配置 MultipartResolver
defaultEncoding:必须和用户 JSP 的pageEncoding 属性一致,以便正确的解析表单的内容。
为了让 CommonsMultipartResovler 正确工作,必须将 Jakarta Commons FileUpload 及 Jakarta Commons io
的类包添加到类路径下。
配置依赖:
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
配置文件:
<!--配置MultipartResolver -->
<!--上传文件拦截,设置最大上传文件大小 10M=10*1024*1024(B)=10485760 bytes -->
<bean class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/>
<property name="maxUploadSize" value="10485760"/>
</bean>
方法:
@RequestMapping(value = "/testFileUpload")
public Object testFileUpload(@RequestParam(value = "desc") String desc,
@RequestParam("file") MultipartFile file ) throws IOException {
System.out.println(desc +":"+ file.getOriginalFilename());
System.out.println(file.getInputStream());
return "success";
}
<form action="/testFileUpload" method="post" enctype="multipart/form-data">
File:<input type="file" name="file">
<br>
Desc:<input type="text" name="desc">
<input type="submit" value="submit">
</form>
还没有评论,来说两句吧...