<form action="upload.do" method="post" enctype="multipart/form-data">  

 <input type="hidden" name="method" value="upload"/>  

 <input type="file" name="file"/>  

 <input type="submit" value="upload"/>  

</form>  

 

 /** 

 * 上传文件测试 

* @param request 

* @param model 

 * @return 

 */  

 @RequestMapping(method=RequestMethod.POST, params = "method=upload")  

  public String upload(HttpServletRequest request,ModelMap model) {  

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;     

SimpleDateFormat dateformat = new SimpleDateFormat("yyyy/MM/dd/HH");     

 /**构建图片保存的目录**/    

 String logoPathDir = "/files"+ dateformat.format(new Date());     

 /**得到图片保存目录的真实路径**/    

 String logoRealPathDir = request.getSession().getServletContext().getRealPath(logoPathDir);     

/**根据真实路径创建目录**/    

 File logoSaveFile = new File(logoRealPathDir);     

 if(!logoSaveFile.exists())     

logoSaveFile.mkdirs();           

/**页面控件的文件流**/    

MultipartFile multipartFile = multipartRequest.getFile("file");      

/**获取文件的后缀**/    

String suffix = multipartFile.getOriginalFilename().substring  

(multipartFile.getOriginalFilename().lastIndexOf("."));     

 /**使用UUID生成文件名称**/    

 String logImageName = UUID.randomUUID().toString()+ suffix;

//构建文件名称     

String logImageName = multipartFile.getOriginalFilename();  

/**拼成完整的文件保存路径加文件**/    

String fileName = logoRealPathDir + File.separator   + logImageName;                

File file = new File(fileName);           

try {     

  multipartFile.transferTo(file);     

 } catch (IllegalStateException e) {     

 e.printStackTrace();     

} catch (IOException e) {            

 e.printStackTrace();     

 }     

 model.put("fileName", fileName);  

 return "/test/success";  

   }  

   }