강의

멘토링

커뮤니티

Inflearn Community Q&A

gobib1232649's profile image
gobib1232649

asked

MERN STACK Community: React from Start to Deployment

ImageUpload_S3 (2): Uploading images to external storage

s3 , post.js 에서 설정 까지 다 해줬는데 에러가 나서 질문드립니다

Resolved

Written on

·

206

1

판다님 강의처럼 s3 설정 및 post.js에서 경로설정 까지 다 해줬는데 에러가 뜨네여

혹시나 뭔가 잘 못 적었나 싶어서 몇번이나 강의를 보면서 체크 해봤는데 다른 부분은 없었습니다

키부분은 질문 작성한다고 잠시 지웠습니다

reactfirebasemongodbnodejsexpress

Answer 2

1

pandacoding님의 프로필 이미지
pandacoding
Instructor

아... 왜 올려주신 코드를 보고 저도 문제점을 바로 못찾았죠...?

당연하게 오타를 의심해봐야 하는데 구조적으로 문제가 있는 줄 알았습니다.

괜히 번거롭게 하신 것 같아 너무 죄송스럽네요.

setUpload.js 파일에서 함수의 코드를 아래와 같이 변경해주세요.

function setUpload(bucket) {
  let upload = multer({
    storage: multerS3({
      s3: S3,
      bucket: bucket,
      acl: "public-read-write",
      key: function (req, file, cb) {
        let extension = path.extname(file.originalname);
        cb(null, Date.now().toString() + extension);
      },
    }),
  }).single("file");

 

.single("file")이 빠져있었습니다!

multer에서 file을 하나만 받을지, 여러개를 받을지 설정해줘야 하거든요 ㅠ

pandacoding님의 프로필 이미지
pandacoding
Instructor

보내주신 파일에 api키가 그대로 노출되어 있더라구요,,,!

당연히 저는 악용하지 않겠지만, 그래도 보안은 항상 신경써야 합니다.

`ENV : 환경변수` 강의 시청하시고 소중한 API키를 지켜주세요..!!

gobib1232649님의 프로필 이미지
gobib1232649
Questioner

감사합니다!

0

pandacoding님의 프로필 이미지
pandacoding
Instructor

Route.post() requires a callback...

가장 짜증나는 에러죠..

어떤 부분에서 코드가 잘못되었는지 찾기가 힘들 것 같은데,

통상적으로 오타나 모듈을 export하는 과정에서 실수가 발생했을 때 자주 접했던 것 같습니다.

-

bucket의 이름이 잘못되었다면 permission 에러가 떴을 것 같은데..

수강생분의 코드에서 오타가 없다는 전제 아래에서

먼저 setUpload 함수로 인해서 에러가 발생하는지 확인해주세요!

setUpload 미들웨어를 지우시고, /image/post 경로로 post요청을 보낼 때 에러가 안나는지 체크해주시고,

에러가 안난다면 setUpload 함수 내부적으로 혹은 사용에서 문제가 있는 것 같습니다.

혹은 버전문제일 수도 있습니다.

저는 이 버전에서 개발을 진행했습니다.

-

일단 지금 눈에 띄는건 제가 알기로 네이버 클라우드 사용법이 조금 바껴서,

filePath경로로 아마 location으로 받아주셔야 정상적으로 이미지가 출력될 것 같습니다.

확인 후 문제를 찾기 힘드시다면 수강생분 전체 코드를 확인할 수 있는 github url을 주시겠어요...?!

 

gobib1232649님의 프로필 이미지
gobib1232649
Questioner

용량이커서 파일을 압축해서 pandacoding7@gmail.com 으로 보냈습니다. 제목은 코드 보내드립니다. 입니다

pandacoding님의 프로필 이미지
pandacoding
Instructor

js파일이 g메일로 전송이 되나요...? 메일을 확인해보니 전송되어 있는 메일은 없는 것 같습니다. 혹시 전송실패가 되지 않았는지 한번만 확인해주세요! 그리고 보안상의 문제로 js파일은 메일로 전송이 불가능한것으로 알고 있습니다. 괜찮으시면 git같은 코드 저장소를 통해 공유해주시겠어요?

gobib1232649님의 프로필 이미지
gobib1232649
Questioner

reactStudt.zip 보냈는데 다시 한번 보내보겠습니다

 

깃허브 주소는 https://github.com/loseeya/reactCommunity 입니다

pandacoding님의 프로필 이미지
pandacoding
Instructor

깃헙 : 

1. 어느 부분에서 에러가 났는지 파악이 안되서 전체 코드를 다 올려주셔야 할 것 같습니다 ㅠㅠ

2. 지금 api키가 깃헙에 그대로 노출되어 있습니다!! 빨리 지워주세요

-

지금 이메일 수신했습니다! 확인해보도록 할게요 :)

gobib1232649's profile image
gobib1232649

asked

Ask a question