인프런 커뮤니티 질문&답변

으하핳님의 프로필 이미지
으하핳

작성한 질문수

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

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

path변수가 온 곳

작성

·

297

1

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) => {
console.log(path,'at File Filter')
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);
},
});
이 곳에서 path의 정체를 출력해보고 싶었는데 파일 업로드를 해도 출력이
안 됩니다.혹시 path가 어디서 왔는지 알 수 있을까요?
그리고 오픈소스를 사용할 때 저는 사용법을 30분씩 봐도 모르겠던데 이거 정상인가싶기도 하고 제가 뒤떨어지는가 걱정도 되네요.

답변 3

3

안녕하세요, 저도 같은 강의를 듣는 수강생입니다.

질문자님의 질문을 보고 저도 궁금해져서 찾아봤어요!

9번 줄 보시면 미리 const path라는 변수에 path 모듈을 요청해서 선언해두었기 때문에 fileFilter에서도 사용이 가능한 부분이구요

path 모듈은 파일 및 디렉토리 경로 작업을위한 유틸리티를 제공한다고 하네요

path 자체를 콘솔로그로 찍으니까 아래처럼 드네요!

path의 function의 종류들에 대한 안내가 아닐까 싶습니다.

그래서 path.extname(/*파일 경로*/)을 하면 해당 파일의 확장자 정보를 가져올 수 있어서

let ext = path.extname(req.body.filePath);
if (ext !== '.png') {

이런식으로 쓸수가 있게 되는것 같네요

path 모듈의 자세한 사용 방법은

https://nodejs.org/api/path.html

node.js의 도큐멘트에 자세하게 나와있더라구요.

제가 부족한 부분이나 틀린부분이있으면 강사님께서 보충해주시지 않을까 싶습니다..ㅠ

저도 부족하지만 도움드릴 수 있지않을까 해서 올려봅니다!

화이팅 입니다!

0

John Ahn님의 프로필 이미지
John Ahn
지식공유자

너무나 좋은 답변 감사드립니다  꾸벅꾸벅 !!!!  

아그리고  저도  오픈소스 사용법 볼떄  맨날 좌절 한답니다 ㅠㅠ !!! 함께 힘내요 ~!!!! ㅎㅎㅎ 

0

으하핳님의 프로필 이미지
으하핳
질문자

앗 너무 감사합니다!강사님도 답변자분도 다같이 화이팅입니다~

으하핳님의 프로필 이미지
으하핳

작성한 질문수

질문하기