Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
import jakarta.persistence.NoResultException;
import jakarta.validation.constraints.NotBlank;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.validator.constraints.Length;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import org.tuna.zoopzoop.backend.domain.datasource.repository.DataSourceRepository;
import org.tuna.zoopzoop.backend.domain.datasource.repository.TagRepository;
Expand All @@ -18,6 +20,7 @@
import org.tuna.zoopzoop.backend.global.aws.S3Service;
import org.tuna.zoopzoop.backend.global.clients.liveblocks.LiveblocksClient;

@Slf4j
@Service
@RequiredArgsConstructor
public class SpaceService {
Expand Down Expand Up @@ -174,9 +177,10 @@ public void updateSpaceThumbnail(Integer spaceId, Member requester, MultipartFil
}

try {
//String fileName = "space/" + spaceId + "/thumbnail/" + System.currentTimeMillis() + "_" +
//String fileName = "space-thumbnail/space_" + System.currentTimeMillis() + "_" +
// S3 저장 시 파일 이름 고정 (덮어쓰기)
String fileName = "space-thumbnail/space_" + spaceId ;
String extension = StringUtils.getFilenameExtension(image.getOriginalFilename());
Copy link

Copilot AI Oct 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potential null pointer exception if image.getOriginalFilename() returns null or if StringUtils.getFilenameExtension() returns null. Consider adding null checks or providing a default extension.

Suggested change
String extension = StringUtils.getFilenameExtension(image.getOriginalFilename());
String extension = StringUtils.getFilenameExtension(image.getOriginalFilename());
if (extension == null || extension.isEmpty()) {
extension = "jpg"; // default extension
}

Copilot uses AI. Check for mistakes.
String fileName = "space-thumbnail/space_" + spaceId + "." + extension;
String baseImageUrl = s3Service.upload(image, fileName);

// DB 용으로 현재 시간을 쿼리 파라미터에 추가 (캐시 무효화)
Expand All @@ -186,6 +190,7 @@ public void updateSpaceThumbnail(Integer spaceId, Member requester, MultipartFil
space.setThumbnailUrl(finalImageUrl);
spaceRepository.save(space);
} catch (Exception e) {
log.error("Space thumbnail upload failed: ", e);
throw new RuntimeException("스페이스 썸네일 이미지 업로드에 실패했습니다.");
}
}
Expand Down