Node.js
(Node.js) multer
JJeongHyun
2023. 1. 18. 14:58
반응형
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! ");
});