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 + "는 지원하지 않습니다.");
    }
복사했습니다!