Hello guys i need your help i cant fixed my problem with multer, file is not being uploaded and req.file is always undefined. Here is my codes
addProps.js
const multer = require('multer')
const upload = multer({ dest: 'public/imahe/' })
router.post('/add', isAuthenticated, upload.single('imahe'), (req, res, next) => {
console.log(req.body)
console.log(req.files)
const member = req.user
Members.findOne({})
const props = new Property({
pname: req.body.pname,
ptype: req.body.ptype,
price: req.body.price,
pterm: req.body.pterm,
location: req.body.location,
description: req.body.description,
gallery: req.body.imahe,
owner: member._id
})
props.save( (err, props) => {
if (err) {
console.log('Unable to register your data: ' + err)
throw err
}
console.log('Property Added Successful!')
res.redirect('/dashboard')
})
})
addproperty.ejs
<% include header%>
<div class="row">
<form class="col s12" method="POST" action="/property/add">
<div class="row">
<div class="file-field input-field">
<div class="btn">
<span>File</span>
<input type="file" name="imahe">
</div>
<div class="file-path-wrapper">
<input class="file-path validate" type="text">
</div>
</div>
</div>
<button class="btn waves-effect waves-light" type="submit" name="action" value="submit">Submit
<!-- <i class="material-icons right">send</i> -->
</button>
</form>
</div>
<% include foot%>
req.file or req.files is always returning undefined in my side, i dont have any other error, i try to find some solution
btw here is my header
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*')
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization')
if (req.method === 'OPTIONS') {
res.header('Access-Controll-Allow-Methods', 'PUT, POST, PATCH, DELETE, GET')
return res.status(200).json({})
}
next()
})