Я создаю бэкэнд-сервис для блогового приложения, использующего Express, Mongodb, Mongoose и Multer.Я хочу сохранить запрос клиента в виде изображения String (заголовок и описание блога) и form-data (jpg, jpeg или png) для записи в блоге пользователя.
В папке моей модели естьblogSchema, которая хранит
const blogSchema = new mongoose.Schema({
title: {
type: String,
required: true,
trim: true
},
description: {
type: String,
required: true,
trim: true
},
owner: {
type: mongoose.Schema.Types.ObjectId,
required: true
},
picture: {
type: Buffer
}
}, {timestamps: true})
в моем файле маршрутизатора блога
//Creating new blog post
router.post('/blogs', auth, upload.single('picture'), async (req, res) => {
const blog = new Blog({
...req.body,
owner: req.user._id,
picture: req.file.buffer
})
try {
await blog.save()
res.status(201).send(blog)
}catch(e){
res.status(500).send(e)
}
}, (error, req, res, next) => {
res.send({message: error.message})
})
Теперь, когда я пытаюсь использовать как данные формы, так и JSON в почтальоне, я понял, что могу отправлять только одну или другую.
Есть ли способ сохранить описание, заголовок и изображение в одном маршруте router.post?