DOing
[AWS] S3 Spring에서 사용하기 - 이미지 삭제 본문
이전 포스팅과 이어지는 포스팅입니다.
2021.04.23 - [AWS] - [AWS] S3를 스프링 프로젝트에서 사용하기 - 이미지 조회
이미지 업로드, 이미지 조회에 이어서 이번 포스팅에서는 이미지를 삭제한다. 참고로 이미지의 수정은 (이미지 삭제 + 이미지 업로드)로 처리한다.
[ 이전 코드 - productController ]
private void deleteFile(ProductImageVO image) {
log.info("delete imageFile");
try {
Path file = Paths.get("C:\\phoneMall\\upload\\"+
image.getImage_uploadPath().replace("/", "\\")+"\\"+image.getImage_uuid()+"_"+image.getImage_name());
Files.deleteIfExists(file);
// if mainImage, delete thumbnail
if(image.getImage_type().contains("mainImage")) {
Path thumbNail = Paths.get("C:\\phoneMall\\upload\\"+
image.getImage_uploadPath().replace("/", "\\")+"\\s_"+image.getImage_uuid()+"_"+image.getImage_name());
Files.deleteIfExists(thumbNail);
}
}catch(Exception e) {
log.error("delete file error"+e.getMessage());
}
}
[ 수정 코드 - S3Service ]
// delete file
public void fileDelete(String fileName) {
log.info("file name : "+ fileName);
try {
s3Client.deleteObject(this.bucketName, (fileName).replace(File.separatorChar, '/'));
} catch (AmazonServiceException e) {
System.err.println(e.getErrorMessage());
}
}
AmazonS3 클라이언트의 deleteObject 메서드를 사용하여 삭제할 버킷 및 객체의 이름을 전달한다. 지정한 버킷 및 객체 키가 존재하지 않으면 오류가 발생한다.
[ 수정 코드 - productController ]
private void deleteFile(ProductImageVO image) {
log.info("delete imageFile");
try {
// delete original image on s3
s3service.fileDelete(image.getImage_uploadPath()+"/"+image.getImage_uuid()+"_"+image.getImage_name());
// delete thumbnail image on s3
if(image.getImage_type().contains("mainImage")) {
s3service.fileDelete(image.getImage_uploadPath()+"/"+image.getImage_uuid()+"_"+image.getImage_name());
}
}catch(Exception e) {
log.error("delete file error"+e.getMessage());
}
}
참고 출처 :
docs.aws.amazon.com/ko_kr/sdk-for-java/v1/developer-guide/examples-s3-objects.html
'AWS' 카테고리의 다른 글
[AWS] EC2 배포시 이슈사항 (0) | 2021.07.13 |
---|---|
[AWS] AWS 배포 회고 (0) | 2021.05.08 |
[AWS] S3를 Spring에서 사용하기 - 이미지 조회 (0) | 2021.04.23 |
[AWS] S3를 Spring에서 사용하기 - 이미지 업로드 (0) | 2021.04.22 |
[AWS] S3 버킷 생성, 객체 업로드하기 (0) | 2021.04.21 |