最近在学习springMVC,现在总结一下使用springMVC上传文件
使用springMVC上传文件主要是使用springMVC框架中的接口和类来实现对文件的操作
其实现有以下几步
1.得到上下文的解析器,从而解析request
2.判断request是否是Multipart类型数据
3.将request转换为MultipartHttpServletRequest类型的数据
4.得到request中的所有文件的迭代器,以此来判断request中的文件的数量
5.若request中有文件的存在,对文件进行处理。
@RequestMapping("/upload2")
public String upload2(HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException{
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
if(multipartResolver.isMultipart(request)){
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
Iterator<String> iter = multiRequest.getFileNames();
while(iter.hasNext()){
MultipartFile file = multiRequest.getFile((String)iter.next());
if(file != null){
String fileName = "demoUpload" + file.getOriginalFilename();
String serverPath=request.getSession().getServletContext().getRealPath("upload");
String path = serverPath+"/upload" + fileName;
File localFile = new File(path);
file.transferTo(localFile);
}
}
}
return "/success";//跳转页面
}