몰아 넣기
[java/spring] UUID를 사용해서 파일이름 랜덤으로 만들기 또는 이미지 확장자 체크하기
뽀글이아저씨
2022. 7. 10. 19:54
UUID 란?
네트워크 상에서 고유성이 보장되는 id를 만들기 위한 표준 규약이며 범용고유식별자 UUID (Universally Unique IDentifier) 이라고 한다.
UUID는 128비트의 숫자이며, 32자리의 16진수로 표현된다. 여기에 8-4-4-4-12 글자마다 하이픈을 집어넣어 5개의 그룹으로 구분한다.
550e8400-e29b-41d4-a716-446655440000
UUID를 사용해서 파일이름 랜덤으로 만들기 예제
- 총 세가지 유형이다.
1) MultipartFile일 때
2) File 일 때
3) 고유하기 파일이름 만들기 .png는 예시 다른걸 붙힐 수도 안붙힐 수도 있음
/* MultipartFile 데이터 타입 파일이름 재설정 */
public String makeFileName(MultipartFile attcFile) {
String attcFileNm = UUID.randomUUID().toString().replaceAll("-", "");
String attcFileOriNm = attcFile.getOriginalFilename();
String attcFileOriExt = fileExtCheck(attcFileOriNm.substring(attcFileOriNm.lastIndexOf(".")));
return attcFileNm + attcFileOriExt;
}
/* File데이터타입 파일이름 재설정 */
public String makeFileName(File attcFile) {
String attcFileNm = UUID.randomUUID().toString().replaceAll("-", "");
String attcFileOriNm = attcFile.getName();
String attcFileOriExt = fileExtCheck(attcFileOriNm.substring(attcFileOriNm.lastIndexOf(".")));
return attcFileNm + attcFileOriExt;
}
/* 고유하기 파일이름 만들기 .png는 예시 다른걸 붙힐 수도 안붙힐 수도 있음*/
public String makeFileName() {
String attcFileNm = UUID.randomUUID().toString().replaceAll("-", "");
return attcFileNm + ".png";
}
-
확장자 체크하기
- 파일 이름을 인자로 넘겨주면 확장자를 추출해하고 비교를 한다.
public String fileExtCheck(String file) {
String originalFileExtension = file.substring(attcFileOriNm.lastIndexOf("."));
originalFileExtension = originalFileExtension.toLowerCase();
if (originalFileExtension.equals(".jpg") || originalFileExtension.equals(".gif")
|| originalFileExtension.equals(".png") || originalFileExtension.equals(".jpeg")
|| originalFileExtension.equals(".bmp")) {
return originalFileExtension;
}
throw new RuntimeException(originalFileExtension + "는 지원하지 않습니다.");
}