使用react-base64上传图片时出现postMessage validation failed错误
postMessage validation failed error occurring during image upload using react-base64
我正在上传图片并将其保存到 mongodb,但它显示以下错误:
message: "postMessage validation failed: selectedFile: Cast
name: "ValidationError"
_message: "postMessage validation failed"
我在前端使用react-base64上传图片
<FileBase type="file" multiple={false} onDone={(base64) => setPostData({ ...postData, selectedFile: base64})} />
我正在通过获取将其添加到数据库中:
let handleSubmit = (event) => {
event.preventDefault();
console.log(postData);
fetch(`http://localhost:5000/posts/create`, {
method: 'POST',
mode: 'cors',
headers: {
'Content-Type': 'application/json',
// 'Accept': 'application/json'
},
body: JSON.stringify(postData),
})
.then(response => response.json())
.then((dataFromServer) => {
console.info(dataFromServer);
})
.catch(error => console.error(error));
}
任何人都可以告诉我我做错了什么以及我该如何解决这个问题
在FileBase组件中,需要这样操作。
您需要解构 onDone
上的参数。这样onDone={({base64}) => yourFunction()}
你可以用这个。
<FileBase type="file" multiple={false} onDone={({base64}) => setPostData({ ...postData, selectedFile: base64})} />
我正在上传图片并将其保存到 mongodb,但它显示以下错误:
message: "postMessage validation failed: selectedFile: Cast
name: "ValidationError"
_message: "postMessage validation failed"
我在前端使用react-base64上传图片
<FileBase type="file" multiple={false} onDone={(base64) => setPostData({ ...postData, selectedFile: base64})} />
我正在通过获取将其添加到数据库中:
let handleSubmit = (event) => {
event.preventDefault();
console.log(postData);
fetch(`http://localhost:5000/posts/create`, {
method: 'POST',
mode: 'cors',
headers: {
'Content-Type': 'application/json',
// 'Accept': 'application/json'
},
body: JSON.stringify(postData),
})
.then(response => response.json())
.then((dataFromServer) => {
console.info(dataFromServer);
})
.catch(error => console.error(error));
}
任何人都可以告诉我我做错了什么以及我该如何解决这个问题
在FileBase组件中,需要这样操作。
您需要解构 onDone
上的参数。这样onDone={({base64}) => yourFunction()}
你可以用这个。
<FileBase type="file" multiple={false} onDone={({base64}) => setPostData({ ...postData, selectedFile: base64})} />