Вам не нужно использовать busboy
с multer
, поскольку он построен поверх него.
Ваши файлы не сохраняются, потому что ваши файлы поступают в виде массива, но вы пытаетесь прочитать его как отдельный файл также с неправильным синтаксисом.
upload.single('fieldName') //is the syntax for single file
Ваш код будет переписан так:
//removing busbodyparser
//declaring multer configs
const storage = multer.diskStorage({
destination: './public/uploads/',
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now() +
path.extname(file.originalname));
}
});
const upload = multer({
storage: storage
}).array('uploadpic', 8]
//make sure you define maxCount - here 8 is given as an example
//array will take in a number of files with the same 'uploadpic' field name
app.post('/createUser', (req, res) => {
upload(req, res, function(err) {
if (err) {
//show error
}
//your files are saved and req.body and req.files are populated using multer
console.log(req.files);
console.log(req.body);
});
});