我是arslan chaudhry Mern stack developpore。我是过去4天的问题。我无法上传MERN stack中的图像。我正在使用ReactJS中的Axios用于此目的。我创建了一个状态,然后使用它发布请求。就像这样:
const [FormInfo, setFormInfo] = useState({productName:"",image:""})
//function for setting state
let names;
const setInputsData = (e) => {
names = e.target.name;
setFormInfo({
...FormInfo,
[names]: e.target.value,
});
};
const submiteDataNow = async (e) => {
e.preventDefault();
const res = await axios.post("/Create_Post", FormInfo);
};
FORM
<form method="post" enctype="multipart/form-data">
<input name="ProductName" onChange={setInputsData}/>
<input type="file" name="images" accept="image/*" onChange={(e) => {
FormInfo.images = e.target.files;}} multiple />
<input onClick={submiteDataNow} type="submit" />
<form />
但是我在后端收到一个空的图像对象。
亲爱的前辈们,请也分享我如何使用multer在NodeJS上传图片的代码。
1条答案
按热度按时间gudnpqoy1#
这可能是因为您没有使用回调setFileInfo设置状态,而是使用变量FileInfo设置状态。不应以这种方式修改状态