본문 바로가기
  • 개발 / 공부 / 일상
Node.js

(Node.js) multer

by JJeongHyun 2023. 1. 18.
반응형

multer 라이브러리

  • express 서버에서 파일을 업로드하기 위한 미들웨어이다
  • HTML에서 form데이터를 처리하여 클라이언트에서 서버로 파일을 업로드할 수 있다
  • multer.diskStorage({})
    • POST 방식으로 전송된 파일의 저장경로와 파일명 등 처리하기 위해서 diskStorage 엔진이 필요하다
    • multer.diskStorage({ destination }) : 파일 등을 저장할 경로 설정
    • multer.diskStorage({ filename }) : 파일 이름을 설정
const multer = require("multer");

const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, "./upload/");
  },
  filename: (req, file, cb) => {
    cb(null, file.originalname);
  },
});
const uploader = multer({ storage: storage });

 

업로드

 //multer로 한개의 파일만 업로드 할 때
 router.post("/upload", uploader.single("img"), (req, res) => {
   console.log(req.file);
   console.log("파일 업로드");
   console.log(req.body);
   res.send("post ok! ");
 });
 //multer로 같은 name input객체의 파일을 업로드할 때
 router.post("/upload", uploader.array("img" ,2), (req, res) => {
   console.log(req.files);
   console.log("파일 업로드");
   console.log(req.body);
   res.send("post ok! ");
 });
 // multer로 서로 다른 name input 객체의 파일을 업로드할 때
  router.post("/upload", uploader.fields([{name : "img"}, {name : "file"}]), (req, res) => {
   console.log(req.file[0]);
   console.log(req.img[0]);
   console.log("파일 업로드");
   res.send("post ok! ");
 });

 

'Node.js' 카테고리의 다른 글

(Node.js) SNS_Kakao 간편 가입 및 로그인 구현  (0) 2023.09.03
(Node.js) nodemailer 라이브러리  (0) 2023.08.15
(Node.js) jwt  (0) 2023.01.18
(Node.js) fs  (0) 2023.01.17
(Node.js) express & RESTFUL API  (0) 2023.01.17