Skip to content

Conversation

@naooung
Copy link
Member

@naooung naooung commented Aug 4, 2025

🚀 관련 이슈

📝 작업 내용

  • 이미지 업로드/조회/삭제 테스트를 위한 전용 S3Controller 생성
  • 실제 S3 연동 테스트를 위한 Postman or Swagger 호출 가능
  • S3Service 기능을 통해 다양한 이미지 업로드 방식 지원 (MultipartFile, Base64)
  • 엔티티에 URL만 저장되는 상황에서 이미지 삭제를 위한 URL → keyName 추출 방식(deleteByUrl) 구현

🛠 개발 상세

  • Controller 추가

    • S3Controller 생성하여 /s3 경로로 접근 가능
    • 생성(업로드), 조회(전체 key 조회), 삭제(파일명 or URL 기반 삭제) 엔드포인트 구성
  • 서비스 기능 정리

    • uploadFile(PathName, MultipartFile): UUID로 keyName 생성하여 업로드
    • base64UploadFile(PathName, base64Url): Base64 URL을 디코딩 후 업로드
    • getFileUrl(String keyName): 전체 URL 반환
    • deleteByUrl(String url): URL에서 keyName을 추출하여 삭제 (엔티티에 URL만 저장된 경우 사용)
    • deleteFile(PathName, fileName): {prefix}/{fileName} 조합 후 삭제
  • 다른 엔티티에서의 사용 예시 (ex. Store 엔티티에서 mainImageUrl 필드를 사용하는 경우)

    • 생성 시:
      uploadImage(PathName.STORE, multipartFile) → .getUrl() 로 URL 저장
    • 삭제 시:
      deleteByUrl(store.getMainImageUrl()) 처럼 URL 기반 삭제 호출
    • 조회 시:
      → URL이 이미 전체 경로이므로 따로 변환 불필요

✔️ 체크 리스트

  • Merge 하려는 PR 및 Commit들을 로컬에서 실행했을 때 에러가 발생하지 않았는가?

📸 스크린샷 (선택)

➕ 추후 계획(선택)

@naooung naooung requested a review from shinchaerin79 August 4, 2025 18:34
@naooung naooung self-assigned this Aug 4, 2025
@naooung naooung added the ✨ Feature 기능 개발 label Aug 4, 2025
@naooung naooung linked an issue Aug 4, 2025 that may be closed by this pull request
3 tasks
@naooung naooung merged commit ff883c8 into develop Aug 4, 2025
2 checks passed
@naooung naooung deleted the feature/s3 branch August 5, 2025 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feature 기능 개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ [FEAT] S3 이미지 파일 관리 기능 구현

2 participants