Inflearn Community Q&A
s3 , post.js 에서 설정 까지 다 해줬는데 에러가 나서 질문드립니다
Resolved
Written on
·
206
1
판다님 강의처럼 s3 설정 및 post.js에서 경로설정 까지 다 해줬는데 에러가 뜨네여
혹시나 뭔가 잘 못 적었나 싶어서 몇번이나 강의를 보면서 체크 해봤는데 다른 부분은 없었습니다
키부분은 질문 작성한다고 잠시 지웠습니다


Answer 2
1
아... 왜 올려주신 코드를 보고 저도 문제점을 바로 못찾았죠...?
당연하게 오타를 의심해봐야 하는데 구조적으로 문제가 있는 줄 알았습니다.
괜히 번거롭게 하신 것 같아 너무 죄송스럽네요.
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을 하나만 받을지, 여러개를 받을지 설정해줘야 하거든요 ㅠ
0
Route.post() requires a callback...
가장 짜증나는 에러죠..
어떤 부분에서 코드가 잘못되었는지 찾기가 힘들 것 같은데,
통상적으로 오타나 모듈을 export하는 과정에서 실수가 발생했을 때 자주 접했던 것 같습니다.
-
bucket의 이름이 잘못되었다면 permission 에러가 떴을 것 같은데..
수강생분의 코드에서 오타가 없다는 전제 아래에서
먼저 setUpload 함수로 인해서 에러가 발생하는지 확인해주세요!
setUpload 미들웨어를 지우시고, /image/post 경로로 post요청을 보낼 때 에러가 안나는지 체크해주시고,
에러가 안난다면 setUpload 함수 내부적으로 혹은 사용에서 문제가 있는 것 같습니다.
혹은 버전문제일 수도 있습니다.
저는 이 버전에서 개발을 진행했습니다.
-
일단 지금 눈에 띄는건 제가 알기로 네이버 클라우드 사용법이 조금 바껴서,
filePath경로로 아마 location으로 받아주셔야 정상적으로 이미지가 출력될 것 같습니다.
확인 후 문제를 찾기 힘드시다면 수강생분 전체 코드를 확인할 수 있는 github url을 주시겠어요...?!
js파일이 g메일로 전송이 되나요...? 메일을 확인해보니 전송되어 있는 메일은 없는 것 같습니다. 혹시 전송실패가 되지 않았는지 한번만 확인해주세요! 그리고 보안상의 문제로 js파일은 메일로 전송이 불가능한것으로 알고 있습니다. 괜찮으시면 git같은 코드 저장소를 통해 공유해주시겠어요?
reactStudt.zip 보냈는데 다시 한번 보내보겠습니다
깃허브 주소는 https://github.com/loseeya/reactCommunity 입니다
깃헙 :
1. 어느 부분에서 에러가 났는지 파악이 안되서 전체 코드를 다 올려주셔야 할 것 같습니다 ㅠㅠ
2. 지금 api키가 깃헙에 그대로 노출되어 있습니다!! 빨리 지워주세요
-
지금 이메일 수신했습니다! 확인해보도록 할게요 :)






보내주신 파일에 api키가 그대로 노출되어 있더라구요,,,!
당연히 저는 악용하지 않겠지만, 그래도 보안은 항상 신경써야 합니다.
`ENV : 환경변수` 강의 시청하시고 소중한 API키를 지켜주세요..!!