multer 사용하기

file 업로드 후 url을 반환하는 미들웨어

1. 업로드 하는 폼 태그는 multipart/form-data 형식

폼 태그에 enctype="multipart/form-data" 추가한다.
( method는 전송 방식, action은 전송 목적지, enctype은 전송되는 데이터 형식을 설정)
(
enctype 중 multipart/form-data 는 파일이나 이미지를 서버로 전송할 경우 이 방식을 사용)

upload.pug

2. multer 연결

multer를 임포트 시켜주고 multer 함수를 넣고 도착지(destination=desc)인 경로를 넣으면 해당 경로에 파일이 업로드 된다.
( single은 오직 하나의 파일만 업로드 할 수 있는 걸 의미)
(
single 안의 이름은 폼 태그의 파일 업로드 인풋 태그의 name="videoFile" 과 같아야함)

middlewares.js

3. 라우터에 multer 연결

파일을 업로드하면 서버에 있는 폴더(uploads/videos/)에 업로드가 되고 postUpload 이라는 함수는 해당 파일에 접근한다.
(* 파일 방식이 아닌 URL 방식으로 접근 = multer의 역할로 인해)

videoRouter.js

4. 컨트롤러에서 multer 가 준 경로로 비디오 정보(models) 담기

controllers/videoController.js

models/Video.js

++
Video 모델에 있는 변수들이 홈 화면의 변수와 연결되어 있는지 확인

home.pug

profile
허허벌판에 씨 뿌리기

1개의 댓글

comment-user-thumbnail
2019년 11월 6일

경로 재설정 해주기

몽고디비 모델이 하나의 도큐먼트를 데이터베이스에 저장했고, 이 도큐먼트는 잘못된 url을 갖고 있다.

app.js

답글 달기