Back-end/웹(web)
express multer 파일 업로드
javapp 자바앱
2020. 9. 23. 00:00
728x90
https://www.npmjs.com/package/multer
multer
Middleware for handling `multipart/form-data`.
www.npmjs.com
Multer는 파일 업로드를 위해 사용되는 multipart/form-data 를 다루기 위한 node.js 의 미들웨어
효율성을 최대화 하기 위해 busboy 를 기반으로 하고 있다.
//npm install --save multer
var multer = require('multer')
var upload = multer({dest : 'uploads/'}) //파일 담는 곳
app.set('view engine','ejs')
app.set('views', './views')
app.get('/upload',(req ,res)=>{ //접속할때
res.render('upload')
})
//upload.single('input 이름(namee)') : req 객체에 파일이라는 프로퍼티 암시적으로 추가
//req 객체에 파일 포함
app.post('/upload', upload.single('userfile'), (req, res)=>{ //제출할 때
res.send('업로드 파일 : '+req.file)
})
파일 제목과 양식이 제대로 저장되지 않음
//npm install --save multer
var multer = require('multer')
var _storage = multer.diskStorage({
destination: (req,file,cb)=>{
cb(null,'uploads/')
},
filename: (req,file,cb)=>{
cb(null,file.originalname)
}
})//파라메타가 함수 콜백 : 사용자의 높은 자유도 제공
var upload = multer({storage : _storage}) //파일 담는 곳
app.set('view engine','ejs')
app.set('views', './views')
app.get('/upload',(req ,res)=>{
res.render('upload')
})
//upload.single('input 이름(namee)') : req 객체에 파일이라는 프로퍼티 암시적으로 추가
//req 객체에 파일 포함
app.post('/upload', upload.single('userfile'), (req, res)=>{
res.send('업로드 파일 : '+req.file)
})
서버에 저장된 파일을 경로를 통해 확인하기
app.use('/user',express.static('uploads'))