spring mvc中的文件上传
使用commons-fileupload上传文件所需要的架包有:commons-fileupload 和common-io两个架包支持,可以到Apache官网下砸。
在配置文件spring-mvc.xml中配置上传:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> //文件上传最大是多少
<property name="maxUploadSize" value="10485760000" /> //上传文件的编码方式
<property name="defaultEncoding" value="utf-8" /> //内存中最大缓存大小
<property name="maxInMemorySize" value="40960" /> </bean>
在对应的jsp页面中主要有两点需要注意,分别问form表单的method=”post”和enctype=”multipart/form-data”,其他的都是平常写的。
在提交到spring mvc中的Controller中对应代码如下所示:
@RequestMapping(value="/upload.do", method=RequestMethod.POST) public String upload(@RequestParam("files") MultipartFile[] files) throws IOException{ for(MultipartFile file:files){ if(!file.isEmpty()){ FileUtils.copyInputStreamToFile(file.getInputStream(), new File("E:/file"+File.separator+file.getOriginalFilename())); } } return "uploadok"; }
代码中添加@RequestParam主要是应对多个文件上传时,如果是单个文件上传可以不写。