기존 코드: userImageStorage의 모든 이미지 데이터를 스토리지에서 제거 후 DB의 User 모든 이미지 Url 초기화
변경:
사용자 이미지를 관리하는 UserImageScheduler 클래스입니다. 여기에는 스프링의 @Scheduled 어노테이션을 사용하여 주기적으로 실행되는 deleteUnusedImages 메서드가 있습니다. 이 메서드는 다음과 같은 주요 기능을 수행합니다:
[교차 검증 수행]
디렉토리에 있는 이미지 파일 중에서 데이터베이스에 없는 파일 삭제: 디렉토리에 있는 이미지 파일과 데이터베이스에 저장된 이미지 URL을 비교하여 데이터베이스에 없는 파일을 삭제합니다.
데이터베이스에만 있는 이미지 URL을 null로 변경: 데이터베이스에만 있는 이미지 URL을 찾아 해당 사용자의 이미지 URL을 null로 변경합니다.
기존 코드: userImageStorage의 모든 이미지 데이터를 스토리지에서 제거 후 DB의 User 모든 이미지 Url 초기화
변경: 사용자 이미지를 관리하는 UserImageScheduler 클래스입니다. 여기에는 스프링의 @Scheduled 어노테이션을 사용하여 주기적으로 실행되는 deleteUnusedImages 메서드가 있습니다. 이 메서드는 다음과 같은 주요 기능을 수행합니다:
[교차 검증 수행] 디렉토리에 있는 이미지 파일 중에서 데이터베이스에 없는 파일 삭제: 디렉토리에 있는 이미지 파일과 데이터베이스에 저장된 이미지 URL을 비교하여 데이터베이스에 없는 파일을 삭제합니다. 데이터베이스에만 있는 이미지 URL을 null로 변경: 데이터베이스에만 있는 이미지 URL을 찾아 해당 사용자의 이미지 URL을 null로 변경합니다.