使用springMVC上传文件

时间:2023-03-09 02:32:55
使用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>