【发布时间】:2022-01-14 21:31:17
【问题描述】:
我有一个应用程序在后端使用 react 和 express 和 multer 来管理上传。当我使用邮递员进行测试时,服务器端运行正常,但是如果从反应中发送图像的特性是意外的。在这种情况下,文件不会出现在上传文件夹中,但是邮递员会立即出现。
上传页面,jsx
const { register, handleSubmit } = useForm();
const onSubmit = async (data) => {
const formData = new FormData();
formData.append('petimage', data.petimage);
try {
const res = await axios.post('/api/petregister', formData);
console.log(res)
} catch (error) {
setError(error.response.data.error);
setTimeout(() => {
setError("");
}, 5000);
}
}
return (
<Container className="mt-5">
<Form onSubmit={handleSubmit(onSubmit)}>
<Form.Group controlId="formFile" className="mb-3">
<Form.Label>Imagen de tu Mascota</Form.Label>
<Form.Control type="file"
label="Select image"
name="petimage"
{...register("petimage")}
/>
</Form.Group>
<Button variant="primary" type="submit">
Submit
</Button>
</Form>
</Container>
谷歌回复
名称为 petimage 的字段与我在后端指定并在邮递员测试中使用的相同。
编辑
const store = require('../middlewares/multer');
route.post('/petregister', store.array('petimage', 12), petregister);
最后一段代码是与分配用于保存图像的multer中间件链接的路由。
【问题讨论】:
标签: node.js reactjs express axios multer