스프링에서는 더 간단하게 멀티파트 파일을 업로드 할 수 있게 해준다.
@PostMapping("/upload")
public String saveFile(@RequestParam String itemName,
@RequestParam MultipartFile file, HttpServletRequest request) throws IOException {
log.info("request = {}", request);
log.info("itemName = {}", itemName);
log.info("multipartFile = {}", file);
if (!file.isEmpty()) {
String fullPath = fileDir + file.getOriginalFilename();
log.info("파일 저장 fullPath = {}", fullPath);
file.transferTo(new File(fullPath));
}
return "upload-form";
}
@RequestParam MultipartFile file
와 같이 파일을 받아올 수 있고, 파일에 관련된 많은 기능을 제공해준다.(ArgumentResolver의 도움으로 @ModelAttribute 에서도 사용가능하다.)
file.transferTo(new File(fullPath));
파일을 저장하는 메서드이다.