multer 모듈을 사용한 file-upload
multer 모듈을 사용한 file-upload
웹에서 파일 업로드는 두 가지 방식이 있다.
- application/x-www-urlencoded
- multipart/form-data
multer 설치
npm install multer --save업로드 구현
1. multer 모듈을 랩핑한 upload()함수 구현
upload(req, res, function(err) {
if(err) {
return res.status(422).send("an Error occured");
}
console.log(req.file);
return res.send("Upload completed");
});
let upload = multer({dest: 'uploads/'}).single('file');
uploads 폴더 밑에 파일이 생성되는데, 이름도 이상하고 확장자도 없어 사용할 수 없다.따라서, dest 속성 대신 storage 속성을 사용해 upload 변수에 넣어주면 된다.
2. 파일의 저장 경로와 이름을 수정
let storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/');
},
filename: function (req, file, cb) {
cb(null, file.originalname);
}
});
let upload = multer({ storage: storage }).single('file');
댓글
댓글 쓰기