토이 프로젝트 스터디 #15

appti·2022년 6월 30일
0

토이 프로젝트 스터디 #15

  • 스터디 진행 날짜 : 7/1
  • 스터디 작업 날짜 : 6/28 ~ 7/1

토이 프로젝트 진행 사항

  • 로컬 환경에서 LocalStack 적용 시도

내용

  • LocalStack 적용 시도
    • localstack-spring-boot-starter 사용 시도
  • 로컬 전용 이미지 업로드 로직 추가

localstack-spring-boot-starter

@Configuration
@Profile("local")
@EnableLocalStack
public class LocalStackS3Config {
    @Bean
    public ImageUtils imageUtils() {
        return new S3ImageUtils((AmazonS3Client) amazonS3);
    }
}

  • 적용 실패
    • io.github.sivalabs 패키지의 내용에 관한 NPE가 발생했기 때문에 해당 라이브러리에 문제가 있다고 판단
  • 그 외에도 여러 시도를 했으나, 모두 실패

별도의 로컬 이미지 처리 로직 추가

  • LocalStack을 로컬에서 사용하는 것에 실패했기 때문에 로컬에서 이미지를 처리하는 별도의 로직 추가
public class LocalImageUtils implements ImageUtils {

    private static String PATH = "/";

    @Override
    public void upload(MultipartFile file, String uniqueName) {
        if (file.isEmpty()) {
            return ;
        }

        try {
            file.transferTo(new File(PATH + uniqueName));
        }
        catch (IOException e) {
            throw new CannotUploadImageException(e);
        }
    }

    @Override
    public String getImageFilePath(Image image) {
        return PATH + image.getUniqueName();
    }
}
  • 단순히 MultipartFile.tansferTo()를 통해 이미지 저장
profile
안녕하세요

0개의 댓글