springMVC 文件上傳


<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";  

   }  

   }  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章