jm_p_op
multer - 파일 받기 본문
참고자료-https://github.com/expressjs/multer/blob/master/doc/README-ko.md
설정
- storage - 저장path설정
- filename - 파일 이름
- 시간을 넣어 독립적으로 제작
- destination - 폴더명
- DB별 나눠주는것이 좋음
- filename - 파일 이름
- limit - 파일 종류, 사이즈 등
사용
- .single( 'input-key' )
- req.file에 저장
- .array( 'input-key' )
- .fields( 'input-key' )
- req.files에 저장
- req.file.path가 데이터 저장된 path임으로 중요
에러 핸들링
- multerFunction(req,res(err)=>{ fun1})
- 에러 발생시 err이 존재
- 에러 없어도 fun1실행
- multerFunction을 await시킨후 req.files읽어도 데이터는 사라진다.
- fun1에서 따로 저장을 하거나, fun1에서 실행시켜야된다.
const multer = require('multer');
const path = require('path');
const upload = multer({
storage: multer.diskStorage({
filename(req, file, done) {
done(null, Date.now()+file.originalname);
},
destination(req, file, done) {
done(null, path.join(__dirname, "../uploads"));
},
}),
limits: { fileSize:
// 1
5 * 1024 * 1024
} // 5메가로 용량 제한
});
const uploadArrayImage = upload.array('image')
/
router.post('/upload',
uploadArrayImage,
function (req, res, next) {
console.log(req.files)
})
/error
router.post('/upload',
async (req,res,next)=>{
await uploadArrayImage(req, res,(err)=>
{if (err){
return res.send(400)
}
console.log(req.files)
return res.send(req.files.path)
}
)
console.log(req.files)
next()
},
(req,res)=>{()=>console.log(req.files)}
);
'Node.js > Express' 카테고리의 다른 글
PK는 왠만하면 Auto Increment으로 잡자 (0) | 2024.05.27 |
---|---|
fk으로 잡은 pk_column 변경하기 (0) | 2024.05.16 |
permission (0) | 2024.05.13 |
express - app (0) | 2024.05.09 |
error_message관리 (0) | 2024.05.07 |