studyplan

스프링부트 파일 업로드 ! 동기버전 2. uploadFile ,MultipartFile , file.transferTo() 본문

스프링

스프링부트 파일 업로드 ! 동기버전 2. uploadFile ,MultipartFile , file.transferTo()

무한머니 2022. 8. 2. 17:08

파일 정보와 , 파일을 저장할 경로를 넣어주면 저장해주는 메소드를 만들었다 

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/

 이걸 뺀 나머지경로를 리턴한다 ! 

 

Comments