使用springMVC上传文件
control层实现功能:
@RequestMapping(value="upload2") public String upLoad2(HttpServletRequest request, HttpServletResponse response) throws IllegalStateException, IOException{ //解析器解析request的上下文 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); //先判断request中是否包涵multipart类型的数据, if(multipartResolver.isMultipart(request)){ //再将request中的数据转化成multipart类型的数据 MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; Iterator iter = multiRequest.getFileNames(); while(iter.hasNext()){ MultipartFile file = multiRequest.getFile((String)iter.next()); if(file != null){ String fileName = file.getOriginalFilename(); String path = "D:/" + fileName; File localFile = new File(path); //写文件到本地 file.transferTo(localFile); } } } return "/success";
}
JSP文件:
<form name="upload" action="/springMVC9/file/upload2" enctype="multipart/form-data" method="post"> <input type="file" name="thefile" /> <input type="submit" value="上传文件" /> </form>
在springMVC配置文件中添加解析器:
<!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8" /> <property name="maxUploadSize" value="10485760000" /> <property name="maxInMemorySize" value="40960" /> </bean>