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