studyplan
스프링부트 파일 업로드 ! 동기버전 2. uploadFile ,MultipartFile , file.transferTo() 본문
파일 정보와 , 파일을 저장할 경로를 넣어주면 저장해주는 메소드를 만들었다
String newFileName = UUID.randomUUID().toString() + "_" + file.getOriginalFilename();
UUID.randomUUID()
이건 랜덤문자열을 만들때 사용하는 메소드이고 , 중복없는 문자열을 생성해서 준다
랜덤문자열 + _ + 원래 파일이름 !
경로를 바꾼다 ! // 오늘 날짜를 추가하는 메소드를 만들었는데 가보자 !
uploadPath 를 주면 오늘 날짜에서 년 월 일을 추출해서
dateInfo 에 넣어주고
uploadPath 를 newUploadPath 에 옮겨담고
newUploadPath = uploadPath + / + 년 + / + 월 +/+ 일 이렇게 붙여준다 !
newUploadPath 이런 경로를 가진 파일을 새로 만드는데
만약 newUploadPath 이런 경로를 가진 파일이 없을때 ! newUploadPath이름을 가진 파일을 만들라는 코드
그러고 그 경로를 반환! 한다
즉 이 코드를 지나치고 나면 , 만약 저런 경로에 파일이 없다면 파일을 생성하고 그 경로를 가지고 나오는것이다 !
다시 !
돌아가면 !
파일을 만들고 , 그 경로를 들고와서
새로운 경로 + 새로운이름을 덮어쓰기한
f 라는 놈을 가지고
file.transferTo(f);
하면
새로운 경로에 , 새로운 파일명을 가진 놈이 저장이 되는것이다 !
그리고
저장이 끝나면
// fullpath == C:/code/upload/2022/08/01/qfwqfj[oqwjf_상어.jpg
여기서
C:/code/upload/
이걸 뺀 나머지경로를 리턴한다 !
'스프링' 카테고리의 다른 글
스프링부트 파일 업로드 ! 비동기 버전 2. 서버에 저장! @ResponseBody, MultipartFile, ResponseEntity (0) | 2022.08.04 |
---|---|
스프링부트 파일 업로드 ! 비동기 버전 1. 자바스크립트,HTML fetch().then() 과정 (0) | 2022.08.02 |
스프링부트 파일 업로드 ! 동기버전 1. <form>,<input>, enctype="multipart/form-data" , multiple , (0) | 2022.08.02 |
스프링 부트 , 드롭이벤트 , 콘솔 e , e.originalEvent.dataTransfer.files; ,fileInput (0) | 2022.08.02 |
스프링부트 동기 파일 업로드 ! 1. - spring Boot (0) | 2022.08.02 |
Comments