В настоящее время я работаю над API с nodejs.Я хочу, чтобы пользователь загружал файлы вместе с другими необходимыми деталями.но проблема в том, что multer загружает файл, прежде чем я смогу проверить необходимые данные, которые передает пользователь.Можно ли загрузить файл только после проверки значений req.body?
Мой текущий код:
router.post("/", upload.single("gallery_item_image"), function (req, res, next) {
Branch
.findById({ _id: req.body.branch_id })
.exec()
.then((doc) => {
if(!doc || req.body.branch_id.length < 24) {
return res.status(404).json({
message: "Invalid Branch ID",
})
}
galleryItem = new GalleryItem({
_id: mongoose.Types.ObjectId(),
branch_id: req.body.branch_id,
caption: req.body.caption,
description: req.body.description,
absoluteImagePath: req.file.path,
imagePath: "some.url"
})
return galleryItem.save()
})
.then((response) => {
console.log(response);
res.status(201).json({
message: "Gallery item successfully added to the database",
galleryItem: {
_id: response._id,
branch_id: response.branch_id,
imagePath: response.imagePath.replace("\\", "/"),
caption: response.caption,
description: response.description,
date: response.date,
absoluteImagePath: response.absoluteImagePath,
meta: {
type: "GET",
url: "some.url",
}
}
})
})
.catch((error) => {
console.log(error);
res.status(500).json({
error: error
})
})
})