질문이 있습니다. node.js의 aws-sdk 모듈을 이용해서 클라이언트가 EC2에 업로드하는 이미지를…

질문이 있습니다.

node.js의 aws-sdk 모듈을 이용해서 클라이언트가 EC2에 업로드하는 이미지를 업로드와 동시에 S3에 putObject하고 getSignedUrl로 업로드한 이미지의 url만 받아와서 클라이언트가 사용하게 하고 싶습니다.
혹시 node.js 로직 안에서 업로드한 이미지가 make public하는 방법이 있나요?
혹은 S3에 업로드한 이미지를 AWS콘솔에서 일일히 make public를 눌러줘야 하나요?
(현재는 getSignedUrl로 이미지 url은 가져오지만 브라우저에서 해당 url로 접근하면 이미지가 다운로드 되는데 온전한 이미지로 다운로드 되지 않는 것 같습니다. 아마 make public가 되지 않아서 그런거라 예상하지만 정확한 이유는 알지 못합니다.)

추가적으로 혹시 S3에 업로드할 때 Bucket 안의 특정 폴더 안으로 업로드하려면 어떻게 해야하나요?

2 thoughts on “질문이 있습니다. node.js의 aws-sdk 모듈을 이용해서 클라이언트가 EC2에 업로드하는 이미지를…

  1. 1. signed url은 권한 설정과 무관하게 접근이 가능합니다. content-type 헤더를 설정하셔야 브라우저가 이미지로 인식해서 다운로드창을 띄우지 않을 것 같네요.

    2. 물론 api로 public하게 만드실 수 있습니다. acl을 지정하는 방법을 알아보세요 (aws 콘솔에서 할 수 있는 작업은 무조건 sdk로도 가능합니다)

    3. s3에는 사실 폴더 개념이 없습니다. 별도의 폴더 생성 없이 그냥 key(파일명)을 a/b/c.jpg 처럼 하시면 됩니다.

Comments are closed.