@RequestMapping(value="/uploadForm", method=RequestMethod.POST) public String uploadForm(MultipartFile file, Model model) throws Exception{ logger.info("originalName : " + file.getOriginalFilename()); logger.info("size : " + file.getSize()); logger.info("contentType : " + file.getContentType()); String savedName = uploadFile(file.getOriginalFilename(), file.getBytes()); model.addAttribute("saveName", savedName); return "uploadResult"; } private String uploadFile(String originalName, byte[] fileDate) throws Exception{ UUID uid = UUID.randomUUID(); String savedName = uid.toString() + "_" + originalName; File target = new File(uploadPath, savedName); FileCopyUtils.copy(fileDate, target); return savedName; }
파일 이름이 중복될 경우 문제가 발생하기 때문에 고유값을 가진 파일이름으로 저장해야 된다.
uploadFile이라는 함수를 만들어서 UUID.randomUUID()을 이용하여 고유값을 가진 값 + 파일명으로 새로운 파일명을 만들고 업로드 함수로 리턴한다.
(출처 : 코드로 배우는 스프링 웹프로그래밍)
'JSP & Spring' 카테고리의 다른 글
@ModelAttribute, @RequestParam (0) | 2016.09.08 |
---|---|
스프링 초기환경세팅 (0) | 2016.09.04 |
utf-8 인코딩. (0) | 2016.09.01 |
페이징 처리하기 Pagination (0) | 2016.05.09 |
redirect 문법 (0) | 2016.03.31 |