inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기

Multer로 노드 서버에 비디오 저장하기

fileFilter가 정상적으로 작동되지 않는것 같습니다.

216

kangdari_

작성한 질문수 2

2

영상에서는 diskStorage 함수 내부에 fileFilter 함수를 작성하여 파일 확장자에 따라 오류 처리를 하도록 했는데 안되는 것 같아요.

구글링해보니 multer 함수 내부에 fileFilter 함수를 정의해야한다고합니다. 

궁금해서 찾아봤습니다.

...

const multerFilter = (req, file, cb) => {
  const ext = path.extname(file.originalname);
  // 동영상이 아닌 경우 에러 발생  
  if (ext !== ".mp4") {
    return cb(new Error("only mp4 is allwoed!"));
  }
  // 동영상 파일
  cb(null, true);
};

const upload = multer({
  storage: storage,
  fileFilter: multerFilter
}).single("file");

redux react nodejs mongodb

답변 1

1

John Ahn

혹시 필터기능 추가 하고 싶으셔서 그런것인가요 ~ ?

var storage = multer.diskStorage({
destination: (req, file, cb) => {
cb(null, 'uploads/')
},
filename: (req, file, cb) => {
cb(null, `${Date.now()}_${file.originalname}`)
},
fileFilter: (req, file, cb) => {
const ext = path.extname(file.originalname)
if (ext !== '.mp4') {
return cb(res.status(400).end('only jpg, png, mp4 is allowed'), false);
}
cb(null, true)
}
})

var upload = multer({ storage: storage }).single("file")

이런식으로 해주시면 됩니다 ~! 

npm i하면 바로, 라이브러리 오류없이 받아지고, 구동되는 소스는 없나요?

0

52

1

ERROR in ./node_modules/antd/es/version/index.js 2:15-22

0

221

1

자료 없음

0

323

1

이미지 깨짐

0

336

1

npm run dev 동작 에러

0

304

1

npm run dev 동작 에러

0

295

1

npm run dev 동작에러납니다...

0

662

1

npm run dev 실행 오류

0

653

1

비디오 업로드, 로그인, 회원가입 504 error

0

1057

1

시작부터 오류생기시는 분들 해결법입니다.

1

467

1

오류 해결 공유

0

459

1

npm install 에러 질문드립니다.

0

1121

2

아예 몽고DB에 연결한다고만 하고 연결이 안되고 있습니다.

0

551

1

해당 오류 해결 방법 좀 알려주세요 ㅠㅠ

0

516

1

로컬스토리지에 대한 질문입니다!!

0

515

0

video가 안 나타나는 문제

0

894

1

ffmpeg 설치 후 cannot read property 'format' of undefined 500 에러 해결

0

471

0

typeError or 콘솔 500 뜨는분..

0

336

0

npm run dev 관련 오류

0

578

1

답글이 달리지않고 디비에도 저장되지않으며 새로고침이 됩니다.

0

246

0

useState 자동 생성

0

347

1

TypeError: Cannot read properties of undefined (reading 'format')

0

1246

2

userData undefined / state에 user.userData가 없습니다.

0

248

0

antd Input background color 변경

0

242

0