Project/Nuwa

Nuwa Project - S3 Delete File (issue)

Llimy1 2024. 3. 8. 03:14
반응형
SMALL
반응형
SMALL

AWS S3를 사용하여 이미지와 파일 업로드를 구현을 하고 이제 삭제 로직을 추가를 해야했습니다.

처음엔 DB에 저장된 URL을 가져와서 파일 이름만 가져오게 파싱을 진행하고 삭제 로직을 보냈지만..

정상적으로 삭제가 되지 않았습니다.

그래서 검색 도중 파일명을 일치를 시켜줘야 된다는 것을 알게 되었습니다.

(기존에 사용했을 땐.. 되는 것 같았는데)

하여튼 현재 사용하는 로직에 파일 이름을 decoding 해주고 보내주니 정상적으로 삭제에 성공했습니다.

public void deleteFile(String fileUrl, FileType fileType) {
        int lastIndex = fileUrl.lastIndexOf("/") + 1;
        String fileName = fileUrl.substring(lastIndex);
        FilePathType filePath = getFilePath(fileName);

        String decode = URLDecoder.decode(fileName, StandardCharsets.UTF_8).trim();

        String getFileUrl = createFileUrl(filePath, fileType, decode);

        System.out.println(getFileUrl);

        boolean exist = amazonS3.doesObjectExist(bucket, getFileUrl);
        if (exist) {
            DeleteObjectRequest deleteObjectRequest = new DeleteObjectRequest(bucket, getFileUrl);
            amazonS3.deleteObject(deleteObjectRequest);
        }
    }

 

반응형
LIST