[스프링부트] GCS 업로드/다운로드 구현

Ericamoyed·2022년 12월 28일
0

개발한장

목록 보기
22/22

이게.. 문서가 제대로 된게 하나도 없다. 어떻게 된일인지 모르겠음.
공식문서가 어딘가에 있을텐데 끝까지 찾지 못함.
업로드/다운로드 모두 public하게 구현한 것이 아니고, 권한 있는 계정 기반으로 authorize하여 동작하도록 구현하였다.

업로드 구현

          BlobInfo blobInfo =storage.create(
                BlobInfo.newBuilder("버켓 이름", "버켓에 업로드할 파일 이름") 
                        .setAcl(new ArrayList<>(Arrays.asList(Acl.of(Acl.User.ofAllAuthenticatedUsers(), Acl.Role.READER))))
                        .build(),
                new FileInputStream("로컬에서 업로드 할 파일이름"));
  • 외부로 공개안돼있는 버킷을 기반으로 한다고 텍스트에는 써놓고
    • allAuthenticatedUsers 권한인 ACL로 파일을 설정하여 업로드하려고 하니 당연히 오류가 난다. ㅋㅋㅋ
    • 근데 코드가 이렇게 작성돼있길래 얘는 어떻게 이게 된거임? 이러고 가만히 스크린샷들 살펴보니
    • 외부 공개 모두 풀어놓은 버킷이더라.. 모임;
    • 쨌든 저거 .setAcl() 부분만 없애주면 정상동작한다.

다운로드 구현

끝! 성공 !

profile
꿈많은 개발자, 일상 기록을 곁들인

0개의 댓글