오봉이와 함께하는 개발 블로그
스프링 MVC 2 - 스프링과 파일 업로드 본문
728x90
스프링과 파일 업로드
스프링은 MultipartFile
이라는 인터페이스로 멀티파트 파일을 매우 편리하게 지원한다.
SpringUploadController
@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 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
업로드하는 HTML Form의 name
에 맞추어 @RequestParam
을 적용하면 된다.
추가로 @ModelAttribute
에서도 MultipartFile
을 동일하게 사용할 수 있다.
MultipartFile 주요 메서드file.getOriginalFilename()
: 업로드 파일 명file.transferTo(...)
: 파일 저장
실행 로그
request = org.springframework.web.multipart.support.StandardMultipartHttpServletRequest@8c60bd4
itemName = asd
multipartFile = org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile@6ce3664d
파일 저장 fullPath = /Users/gobyeongchae/Desktop/fileUploadV1/IMG_4587.JPG
출처 : 인프런 김영한 지식공유자님 강의 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
728x90
'BE > Spring' 카테고리의 다른 글
Spring - Spring Security를 통해 Session 로그인 구현 (0) | 2023.09.03 |
---|---|
스프링 MVC 2 - 예제로 구현하는 파일 업로드, 다운로드 (0) | 2022.09.01 |
스프링 MVC 2 - 서블릿과 파일 업로드 2 (1) | 2022.09.01 |
스프링 MVC 2 - 서블릿과 파일 업로드 1 (0) | 2022.09.01 |
스프링 MVC 2 - 파일 업로드 소개 (0) | 2022.09.01 |
Comments