Formulario en frontend React.js.
const handleUpload = (e) => { setFormvalue({ ...formvalue, recevierImages: e.target.files[0] }); }; const submitData = () => { console.log(formvalue); dispatch(createDonation(getFormData(formvalue))); }; <Form> <Form.Item name="donationImage" label="Upload Image"> <input type="file" onChange={(e) => handleUpload(e)} /> </Form.Item> </Form> <Button onClick={submitData} type="primary"> Create </Button>recevierImages es el nombre donde la imagen se almacena en reaccionar y al hacer clic en enviar datos, todos los datos se agregan a FormData y se envían a express js
api en backend express.js
const express = require("express"); const multer = require("multer"); const donationController = require("../controller/donationController"); const router = express.Router(); const multerStorage = multer.diskStorage({ destination: function (req, file, callBack) { callBack(null, ""); }, }); const uploadImage = multer({ storage: multerStorage }).single("recevierImages"); router.post("/create", uploadImage, donationController.createDonation); router.patch("/update", donationController.updateDonation); module.exports = router;donaciónController.js
const createDonation = async (req, res) => { try { console.log(req.file.buffer); } catch (error) { console.log(error); res.status(500).send(error); } } module.exports = { createDonation, };EndonationController.js req.file.buffer no está definido