Estoy tratando de cargar varias imágenes a través de axios al servidor backend en una nueva aplicación. Funcionó perfectamente en mis aplicaciones anteriores que he desarrollado. Cuando hice algunas inspecciones, el problema era que había un par de arreglos con valores vacíos agregados a los datos del formulario. No sucedió en las aplicaciones anteriores que desarrollé.
Este es el código para subir los archivos:
const formData = new FormData(); for(var i =0;i<data.files.length;i++){ let name = data.files[i].name let ext = data.files[i].name.split('.') ext = ext[ext.length-1].toLowerCase() == 'dcm' ? 'DCM':'IMG' let content = data.files[i] console.log({name,ext,content}) formData.append('types',ext) formData.append('names',name) formData.append('images',content) } const response = await axios.post(`${API_BASE_URL}images/`, formData, { headers: { "Content-Type": 'application/x-www-form-urlencoded', "Authorization": TOKEN } }) return response;Esta es la carga útil de la solicitud de la aplicación anterior
Y esta es la carga útil de la solicitud de la nueva aplicación.
Uso exactamente el mismo código para la aplicación nueva y la antigua. Tenga en cuenta que en la nueva aplicación, de alguna manera, los datos de formulario agregan muchas matrices con valores vacíos, mientras que en la aplicación anterior no existe tal cosa.
¿Alguien puede decirme qué pasó aquí?
EDITAR: Parece que la versión actual de axios (0.27.1) envía datos de manera diferente a la versión anterior de axios que usé (0.26.0). Funcionó bien cuando bajé el número de versión. Todavía tengo curiosidad por lo que pasó, aunque...