스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - (57) 스프링 부트 - 파일 업로드 - 스프링과 파일 업로드
인프런 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술편을 학습하고 정리한 내용 입니다.
스프링은 MultipartFile이라는 인터페이스로 멀티파트 파일을 매우 편리하게 지원한다.
hello.upload.controller.SpringUploadController
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@Slf4j
@Controller
@RequestMapping("/spring")
public class SpringUploadController {
@Value("${file.dir}")
private String fileDir;
@GetMapping("/upload")
public String newFile() {
return "upload-form";
}
@PostMapping("/upload")
public String saveFile(@RequestParam("itemName") String itemName,
@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {
log.info("request={}", request);
log.info("itemName={}", itemName);
log.info("file={}", file);
if (!file.isEmpty()) {
String fullPath = fileDir + file.getOriginalFilename();
log.info("fullPath={}", fullPath);
file.transferTo(new File(fullPath));
}
return "upload-form";
}
}
1
@RequestParam("file") MultipartFile file
업로드하는 HTML Form의 name에 맞추어 @RequestParam을 적용하면 된다.
추가로 @ModelAttribute에서도 MultipartFile을 동일하게 사용할 수 있다.
MultipartFile 주요 메서드
file.getOriginalFilename() : 업로드 파일 명file.transferTo(..): 파일 저장
이제 실행 해보자.



다음 같이 정말 간단하게 업로드가 완료 되었다.
이제 다음 시간엔 예제로 파일 업로드 / 다운로드를 구현해 보자.
댓글남기기