No puedo enviar el objeto de datos original de mi formulario a través de axios a Spring Boot, ya que es un objeto único y Spring Boot no puede obtener @RequestParams para él. Por lo tanto, estoy colocando los datos en un objeto FormData para que pueda enviarse a una aplicación Spring Boot; sin embargo, cada vez que agrego un archivo al objeto FormData, convierte mi matriz de archivos en una cadena.
Aquí está el código:
const onSubmit = async (data) => { console.log(data, "Form data"); let payload = new FormData(); payload.append("JobName", data.JobName); payload.append("CandidateFile", data.CandidateFile); payload.append("ReferenceFile", data.ReferenceFile); console.log(...payload, "Payload") for(let pair of payload.entries()) { console.log(typeof pair[1]); } ...En la consola, los datos regresan con el objeto de datos, con archivos incluidos:
{Nombre del trabajo: 'Nombre del trabajo', Archivo de referencia: [Archivo], Archivo de candidato: [Archivo]}
La carga útil de FormData, en la consola, es:
(2) ['NombreTrabajo', 'NombreTrabajo']
(2) ['CandidateFile', '[archivo objeto]']
(2) ['ReferenceFile', '[object File]']
Y los tres tipos de valores de carga útil vuelven como:
Cuerda
¿Hay alguna forma de enviar los archivos con FormData?
He intentado usar los archivos tanto en una matriz como fuera, pero todavía da el mismo resultado.