Я создаю приложение реагирования для найденных объектов и хочу разрешить пользователям загружать фотографии этих объектов
Я пытался отправить изображение через почтовый запрос с помощью axios на сервер mongoose, но оно не работает.
Итак, вот как я сохраняю изображение в компоненте реакции с предварительным просмотром:
handleImage(event) {
let reader = new FileReader();
let file = event.target.files[0];
reader.onloadend = () => {
this.setState({
image: file,
imagePreviewUrl: reader.result
});
}
и вот как я его отправляю:
reader.readAsDataURL(file)
axios.post("/api/putData", {
id: idToBeAdded,
author : "TODO", //TODO
title: infos.title,
type: infos.type,
reward: this.state.reward,
description: infos.description,
image: infos.image,
});
Вот мой код для обработки запроса на другой стороне:
router.post("/putData", (req, res) => {
let data = new Data();
const { id, author, title, type, reward, description, image } = req.body;
/*if ((!id && id !== 0) || !message) {
return res.json({
success: false,
error: "INVALID INPUTS"
});
}*/
data.title = title;
data.type = type;
data.reward = reward;
data.description = description;
data.author = author;
data.id = id;
data.image.data = image;
data.image.contentType = 'image/png'
data.save(err => {
if (err) return res.json({ success: false, error: err });
return res.json({ success: true });
});
});
Таким образом, это изображение является частью формы, и когда я отправляю его без изображения, у меня появляется новый документ в БД без какого-либо изображения (что нормально), но когда я пытаюсь загрузить его, документ не создается.
Что я могу сделать?