一.文件上传:SpringMVC为文件上传提供了直接的支持,这种支持通过即插即用的MultipartResolver实现的。Spring实现了一个MultipartResolver实现类,CommonsMultipartResovler。
1.SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下不能处理文件的上传工作,如果想使用Spring的文件上传功能,需要在上下文中配置MultipartResolver
2.使用文件上传流程:
(1)导入commons-fileupload-1.3.2.jar及commons-io-2.5.jar
(2)springmvc.xml文件中加入如下配置:
<!-- 配置MultipartResolver -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置默认编码方式 -->
<property name="defaultEncoding" value="utf-8"></property>
<!-- 设置最大上传字节数 -->
<property name="maxUploadSize" value="1024000"></property>
</bean>
(3)控制器类中:
@Controller
public class TestFileUpload {
@RequestMapping("/testFileUpload")
public String testFileUpload(@RequestParam("file") MultipartFile file) throws IOException{
System.out.println(file.getOriginalFilename()); //获取上传文件的文件名
System.out.println(file.getInputStream()); //获取文件的输入流
return "test"; //返回配置好的指定位置的视图文件(需要在SpringMVC的配置文件中,配置视图解析器),例:/WEB-INF/test.jsp
}
}
(4)jsp文件中:
<form action="/springMVC/testFileUpload" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="text" name="desc"/>
<input type="submit" value="test fileUpload"/>
</form>