Estoy tratando de enviar un archivo csv desde mi front-end en reactjs a mi back-end en nodejs usando axios. Este archivo csv se selecciona a través de un botón de IU de exploración y se almacena en el estado usando reaccionar. Después de buscar en línea, este es mi código para la solicitud HTTPS:
let formmData = new FormData(); formData.append('file', this.state.selectedFile); const {data : QueryResult} = await axios({ method: 'post', url: "https://localhost:...", formData, }); Nota: this.state.selectedFile contiene un objeto que cuando inicia sesión en la consola es:
File {name: "MyFile.csv", lastModified: 1614958303483, …}También me gustaría decir que este punto final funciona bien cuando se usa Postman como se ve a continuación:
Después de imprimir la solicitud en mi back-end en el caso de esta solicitud de mi interfaz, veo:
body: {}No entiendo qué estoy haciendo mal y esto no pasa nada a mi back-end.
También vi que este era un problema abierto con axios en GitHub en el pasado.
¿Se puede lograr esto ahora con axios o debo usar otro módulo? ¿Algunas ideas?
Necesitas hacer:
await axios({ method: 'post', url: "https://localhost:...", data: formData }); porque cuando escribe solo "formData", se convierte en: { formData: formData } según (nuevo nombre de propiedad abreviado del objeto ES2015).
También puedes usar:
await axios.post('your_url', formData)