MongoDB 中的文本是“未定义”,而不是文件数据已成功上传
Posted
技术标签:
【中文标题】MongoDB 中的文本是“未定义”,而不是文件数据已成功上传【英文标题】:Text is "undefined" in MongoDB instead file data is successfully uploaded 【发布时间】:2019-10-27 13:29:30 【问题描述】:我正在玩 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】:在您的 setImageState 方法中,我不确定 e.target.name 在设置字段参数时是否有效。请尝试 e.target.id 。示例:
setImageState(
[e.target.id]: e.target.value
);
【讨论】:
感谢您的建议。它不起作用。我意识到这部分似乎无法正常工作。因为输入元素没有id,但它仍然允许更新输入。以上是关于MongoDB 中的文本是“未定义”,而不是文件数据已成功上传的主要内容,如果未能解决你的问题,请参考以下文章