Текст "undefined" в MongoDB вместо данных файла успешно загружен - PullRequest
0 голосов
/ 13 июня 2019

Я играю с MERN и разрабатываю сайт загрузки изображений. Я пытался загрузить изображение с текстом, полученным с помощью React. Я мог успешно загрузить. Тем не менее, текст не "неопределен". вот моя попытка

//React//
const Landing = () => {
  const [imageState, setImageState] = useState({
    text: "",
    image: null,
    redirect: false
  });
  const onChange = e => {
   setImageState({
      [e.target.name]: e.target.value
    });
  };

 const upload = e => {
      formData.append("myimage", image);
      formData.append("text", text);
      await axios.post("/upload", formData);

      <form
        onSubmit={e => upload(e)}/>
        <input
          type="text"
          name="text"
          value={text}
          onChange={e => onChange(e)}
        />
        <input type="file" name="myimage" onChange={e => imageChange(e)} />
        {/* {renderRedirect()} */}
        <input type="submit" value="Upload Photo" />

//Node//
router.post("/upload", (req, res) => {
  upload(req, res, err => {
    if (err) {
      console.error(err.message);
    }

    let data = new ImageModel({
      text: req.body.text,
      image: req.file.originalname
    });
    data.save().then(result => {
      res.send(result);
    });
  });

1 Ответ

0 голосов
/ 13 июня 2019

В вашем методе setImageState я не уверен, что e.target.name будет работать при установке параметра поля. Попробуйте вместо этого e.target.id. Пример:

setImageState({
  [e.target.id]: e.target.value
});
...