토이 프로젝트 스터디 #15
- 스터디 진행 날짜 : 7/1
- 스터디 작업 날짜 : 6/28 ~ 7/1
토이 프로젝트 진행 사항
내용
- 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()를 통해 이미지 저장