SpringMVC 为文件上传提供了直接的支持,这种支持是通过即插即用的MultipartResolver实现的。Spring用Jaksrta Commons FileUpload 技术实现了一个MultipartResolver实现类:CommonMultiPartResovler
SpringMVC上下文默认没有装配MultipartResolver因此默认情况下不能处理文件的上传工作,如果想使用Spring的文件上传功能,需现在上下文配置MultiPartResolver
需要的jar包:
Jakarta Commons FileUpload.jar
commons io.jar
Test.java
1 @Autowired 2 private ResourceBundleMessageSource messageSource; 3 4 @RequestMapping("/testFileUpload") 5 public String testFileUpload(@RequestParam("desc") String desc, 6 @RequestParam("file") MultipartFile file) throws IOException{ 7 System.out.println("desc: " + desc); 8 System.out.println("OriginalFilename: " + file.getOriginalFilename()); 9 System.out.println("InputStream: " + file.getInputStream()); 10 return "success"; 11 }
springmvc.xml
1 <!-- 配置 MultipartResolver --> 2 <bean id="multipartResolver" 3 class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 4 <property name="defaultEncoding" value="UTF-8"></property> 5 <property name="maxUploadSize" value="1024000"></property> 6 </bean>