Как мне сохранить как json, так и form-data, используя multer и mongoose, в клиентском запросе с использованием почтальона? - PullRequest
0 голосов
/ 25 сентября 2019

Я создаю бэкэнд-сервис для блогового приложения, использующего 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?

...