Estoy tratando de enviar los datos del formulario con entradas de texto y archivos. Al usar multer, solo puedo obtener el archivo, no los datos de texto. Aquí está el formulario
import React from 'react' const Addplayer=()=>{ return( <> <h1>Add player here</h1> <form method='POST' enctype='multipart/form-data'> <label>Enter the team name <input type="text" name='tn' placeholder='Team name'/> </label> <br></br><br></br><br></br> <label>Enter the player name <input type="text" name='pn' placeholder='Player name'/> </label> <br></br><br></br><br></br> <label>Enter the player age <input type="number" name='pa' placeholder='Player age'/> </label> <button type="submit">Submit</button> </form> </> ) }Estoy usando el middleware multer para obtener el archivo, pero no se puede acceder a los campos de texto de este formulario en el cuerpo de la solicitud.
Vea este ejemplo de los documentos de Multer (dice que req.body contendrá los campos de texto, si hubiera alguno , por lo que los otros campos están en req.body ):
const express = require('express') const multer = require('multer') const upload = multer({ dest: 'uploads/' }) const app = express() app.post('/profile', upload.single('avatar'), function (req, res, next) { // req.file is the `avatar` file // req.body will hold the text fields, if there were any })PD. Este comentario tiene un punto:
¿Cómo se envía el formulario al servidor? No veo una acción en su elemento de formulario.
Un atributo de action ( docs ) especifica la URL a la que se deben enviar los datos. En este caso, debe establecer aquí su punto final de Express.js.