#node.js #reactjs #multipartform-data #multer
Вопрос:
Я пытаюсь отправить изображение на сервер узлов вместе с другими полями. Но по какой-то причине это не работает. Я убедился, что имя ввода совпадает с ключом в FormData и в NodeJS для загрузки
lt;Input id="image" name="image" type="file" accept=".png, .jpg" onChange={(e) =gt; { formik.setFieldValue("image", e.target.files[0]);}} /gt;
…
const formData = new FormData(); formData.append("image ", values.image); formData.append("title ", values.title); formData.append("message ", values.message); formData.append("selected ", values.selected); formData.append("newDate ", newDate); formData.append("users ", users); const res = await sendNotification(token, formData);
а вот функция вызова api
const res = await axios({ method: "post", url: `${process.env.REACT_APP_SERVER}/api/dashboard/notification`, data: formData, headers: { Authorization: `Bearer ${token}`, "Content-Type": "multipart/form-data", }, });
узел
const multer = require("multer"); const upload = multer({ dest: "uploads/" }); router.post( "/notification", auth, upload.single("image"), dashboard_controller.sendNotifications );