토이 프로젝트 스터디 #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()
를 통해 이미지 저장