Cuando envío datos utilizando el cartero, se muestra el Título, la descripción y la imagen que envío.

Esta es mi matriz de publicaciones:

router.post('/', uploadS3.array('meme',3),(req, res, next)={amp}gt;{ // res.json(req.file.location) console.log(`req.files =================${req.headers}`); // console.log("req.file.location===",req.file.location, "req.body===",req.body); const locationURL = req.files.map(item={amp}gt;item.location); //Send image alongside with other form fields postModel.create({...req.body,image:locationURL}, (error, returnedDocuments) ={amp}gt; { if (error) return next(error); res.json(returnedDocuments); }) }) 

mi cartero: ingrese la descripción de la imagen aquí

Cuando trato de enviar datos utilizando mi interfaz, no se envía correctamente al backend, la respuesta que recibo es nada si no incluyo una imagen, y el título y la descripción no se pasan … observe que mi postModel espera que el título y la descripción estén dentro de req.body

postModel.create({...req.body,image:locationURL}

Estoy enviando los datos agregándolos al objeto FormData ()

Para ser claros, setFiles es el configurador para el archivo const [file, setFiles] = useState({ selectedFile: null, loaded: 0 });

 const onChangeFile = event ={amp}gt; { if (maxSelectFile(event) {amp}amp;{amp}amp; checkMimeType(event) {amp}amp;{amp}amp; checkFileSize(event)) { setFiles({ selectedFile: event.target.files }); } console.log(event.target.files) } const submitFormHandle = event ={amp}gt; { const data = new FormData(); for (let i = 0; i {amp}lt; file.selectedFile.length; i  ) { data.append("meme", file.selectedFile[i]); } data.append("title", title); data.append("description", description); axios .post("http://localhost:3200/api/posts/", data) .then(res ={amp}gt; { toast.success('upload success') }) .catch(err ={amp}gt; { toast.error('upload fail') }) } 
jcx3x

es un nuevo contribuyente a este sitio. Tenga cuidado al pedir aclaraciones, comentarios y respuestas. Mira nuestro

Código de Conducta

.

Puede publicar datos de axios utilizando FormData utilizando el siguiente enfoque:

Para el campo, intente usar el set en el objeto FormData y para el uso de la imagen append así.

Cambia tu código a:

 data.set("title", title); data.set("description", description); 

Por favor, avíseme si esto no funciona.