📌 Multer란?
Node.js 환경에서 파일 업로드를 하기 위한 미들웨어이다.
multipart/form-data
형식으로 단일 및 다중 파일업로드를 지원한다.
$ npm i multer
const multer = require('multer');
const fs = require('fs');
try {
fs.accessSync('uploads')
} catch (error) {
console.log("Create folder for 'uploads'.");
fs.mkdirSync('uploads');
};
const upload = multer({
storage: multer.diskStorage({
destination(req, file, done) {
done(null, "uploads");
},
filename(req, file, done) {
const ext = path.extname(file.originalname);
const basename = path.basename(file.originalname, ext);
done(null, basename + '_' + new Date().getTime() + ext);
},
}),
});
router.post('/image', upload.single('image') (req, res) => {
console.log(req.file);
res.status(200).json(req.file);
});
router.post('/images', upload.array('image'), (req, res) => {
console.log(req.files);
res.status(200).json(req.files.map((v) => v.filename));
});