• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Spring 게시판 aws 이미지 삭제 관련해서 질문이 있습니다

aws 이미지 삭제 관련해서 질문이 있습니다

9 글 보임 - 1 에서 9 까지 (총 9 중에서)
  • 글쓴이
  • #121513

    김창규
    참가자
    안녕하세요 제가 aws에 이미지를 등록하고 삭제하는 기능을 구현하고자 하는데 이미지의 등록은 preSign 방식을 사용하여
    정삭적으로 작동 하지만 파일을 지우는 기능이 오류는 생기지 않으나 파일이 지워지지 않습니다. 아무리 인터넷을 찾아보아도
    답을 찾을 수 없어 이 부분에 대해 어디가 문제가 있는지 질문하고 싶습니다
    
    aws 서비스 코드 --
    
    스크린샷 2024-04-28 185855
    
    aws config 코드 --
    스크린샷 2024-04-28 190204
    
    
    #121557

    codingapple
    키 마스터
    amazonS3Client에다가 .deleteObject()같은거 붙여봅시다 아니면 aws사이트에서 삭제권한을 안만들어놔서 그럴수도요
    #121599

    김창규
    참가자
    amazon.deleteobject()를 amazonS3Client.deleteObject()로 변경하면 되는건가요?
    #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" 이렇게 찾을 수 없다고 하는데 아래의 키 값과 동일하게
    하는게 아닌건가요?
    
    스크린샷 2024-04-29 144620
    
    코드는 알려주신 방법을 해도 똑같은 오류가 생겨 다른 방법으로 시도 해보려다 조금 달라졌습니다!
    
    
    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();
      }
    }
    • 이 답변은 김창규에 의해 1 년, 1 월 전에 수정됐습니다.
    • 이 답변은 김창규에 의해 1 년, 1 월 전에 수정됐습니다.
    #121648

    codingapple
    키 마스터
    이전버전 라이브러리 문법이랑 섞어쓰고있는거같은데 3.x 버전은 
    https://howtodoinjava.com/spring-cloud/spring-cloud-aws-s3/
    이런거 따라해봅시다
    
    #121670

    김창규
    참가자
    보고 따라하니까 전송은 잘 되는 것 같은데 아무래도 s3에 저장 되어있는 키값이 문제가 있는 것 같습니다 이름과 아래 이미지의
    키값을 보시면 모두 ""안에 들어가 있는데 아무래도 자바 스프링으로 들어오면서 저 ""가 생기는 것 같습니다( 가장 아래의 이미 )
    다른 예제들은 보면 ""없이 정상적으로 그 파일 이름만 딱 들어가게 만들었던데 ""가 들어가는걸 해결하는 예제 같은건 찾지 
    못하여 또 질문 올립니다. ㅠ
    스크린샷 2024-04-29 215925
     스크린샷 2024-04-29 220058
    스크린샷 2024-04-29 220252
    스크린샷 2024-04-29 220942
    
    
    
    • 이 답변은 김창규에 의해 1 년, 1 월 전에 수정됐습니다.
    #121687

    codingapple
    키 마스터
    서버에서보낸 presignUrl.data 이런거에 따옴표없나 출력부터 해봅시다
    await 붙인거에 또 .then 붙인부분도 뭔가 이상하군요 하나만 씁시다
    #121704

    김창규
    참가자
    스크린샷 2024-04-30 132258
    서버에서 받아오는 부분을 출력했을때는 아무 이상 없어 보입니
    #121709

    김창규
    참가자
    자바에 있는 @RequestBody String filename부분을 @RequestBody Map<String, String> body로 변경하여 가져오기 "" 없이 잘 가져
    올 수 있었습니다!
     
9 글 보임 - 1 에서 9 까지 (총 9 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠