👉 form의 enctype 속성은 파일을 업로드 할 때 반드시 사용해야하는 속성이다. form 데이터를 서버로 전송할 때 어떤 형식으로 인코딩할지를 정하는 속성으로써
multipart/form-data 는 파일을 포함하는 form데이터를 전송할 때 사용된다. 즉 타입이 File인 input이 있는 경우 반드시 속성을 지정한다.
⬛ Controller
◾ 요청 URL 메서드 생성
@PostMapping("/upload")
public void uploadImage(@RequestParam("file") MultipartFile file,HttpServletRequest request){
}
👉 form으로부터 넘어오는 하나의 file 값을 @RequestParam을 통해 MultipartFile 타입으로 가져온다. 실제 저장경로를 구할 request 객체도 가져온다.
◾ 업로드 파일 유무 검사 후 실제로 저장
if(!file.isEmpty()&& file != null){
//실제 저장 경로
String realPath = request..getServletContext().getRealPath("/");
// 저장할 경로를 추가로 더 붙인 다음 업로드할 파일명을 붙인다.
realPath += "\\resource\\uploadImages\\" + file.getOriginalFilename();
//transferTo로 실제 저장
profileImagef.transferTo(new File(realPath));
}