9 글 보임 - 1 에서 9 까지 (총 9 중에서)
-
글쓴이글
-
2024년 4월 28일 19:02 #121513
김창규참가자안녕하세요 제가 aws에 이미지를 등록하고 삭제하는 기능을 구현하고자 하는데 이미지의 등록은 preSign 방식을 사용하여 정삭적으로 작동 하지만 파일을 지우는 기능이 오류는 생기지 않으나 파일이 지워지지 않습니다. 아무리 인터넷을 찾아보아도 답을 찾을 수 없어 이 부분에 대해 어디가 문제가 있는지 질문하고 싶습니다 aws 서비스 코드 --
aws config 코드 --
2024년 4월 29일 09:15 #121557
codingapple키 마스터amazonS3Client에다가 .deleteObject()같은거 붙여봅시다 아니면 aws사이트에서 삭제권한을 안만들어놔서 그럴수도요
2024년 4월 29일 14:47 #121606
김창규참가자createImg/%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202023-12-14%20171800.png제가 서버에서 fileName을 출력하면 이런식으로 뜨는데 삭제해야 하는 객체는 아래와 같은 키 값을 가지고 있습니다. 이상이 없어 보이는데 catch 문으로 돌아온 에러 메세지는 "failjava.lang.IllegalArgumentException: profile file cannot be null" 이렇게 찾을 수 없다고 하는데 아래의 키 값과 동일하게 하는게 아닌건가요?
코드는 알려주신 방법을 해도 똑같은 오류가 생겨 다른 방법으로 시도 해보려다 조금 달라졌습니다!
public void deleteFile(String fileName) {
try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build();
System.out.println("createImg/" +fileName); s3Client.deleteObject(new DeleteObjectRequest(bucket, "createImg/" +fileName)); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } }
2024년 4월 29일 19:28 #121648
codingapple키 마스터이전버전 라이브러리 문법이랑 섞어쓰고있는거같은데 3.x 버전은 https://howtodoinjava.com/spring-cloud/spring-cloud-aws-s3/ 이런거 따라해봅시다
2024년 4월 29일 22:05 #121670
김창규참가자보고 따라하니까 전송은 잘 되는 것 같은데 아무래도 s3에 저장 되어있는 키값이 문제가 있는 것 같습니다 이름과 아래 이미지의 키값을 보시면 모두 ""안에 들어가 있는데 아무래도 자바 스프링으로 들어오면서 저 ""가 생기는 것 같습니다( 가장 아래의 이미 ) 다른 예제들은 보면 ""없이 정상적으로 그 파일 이름만 딱 들어가게 만들었던데 ""가 들어가는걸 해결하는 예제 같은건 찾지 못하여 또 질문 올립니다. ㅠ
-
이 답변은
김창규에 의해 1 년, 1 월 전에 수정됐습니다.
2024년 4월 30일 09:09 #121687
codingapple키 마스터서버에서보낸 presignUrl.data 이런거에 따옴표없나 출력부터 해봅시다 await 붙인거에 또 .then 붙인부분도 뭔가 이상하군요 하나만 씁시다
-
이 답변은
-
글쓴이글
9 글 보임 - 1 에서 9 까지 (총 9 중에서)
- 답변은 로그인 후 가능합니다.