Estoy tratando de enviar un archivo CSV con una solicitud AJAX y luego manejarlo en un controlador. Mi problema es que obtengo un archivo nulo en mi controlador.
Aquí está mi solicitud de AJAX:
let csvfile = csvFile.files[0] var data = new FormData(); data.append('file', csvfile) // console.log(...data) $.ajax({ type : 'POST', url : '/template/generateAuto/' + templateId, contentType: false, processData : false, data: data, success: function(msg) {console.log(msg)}, });Aquí está mi función de controlador que debería manejar el archivo.
$file = $request->files->get('file'); return new JsonResponse($file);Aquí solo estoy tratando de depurar, por eso solo hay esta parte del código en mi controlador.
Intenté descargar $request en mi controlador pero no tengo nada.
Ya he mirado esta pregunta similar pero no puedo encontrar lo que estoy haciendo mal. Ya que intenté descargar mi $request y está vacío. Además, hacer un console.log(...data) genera esto:
0 "file" 1 File {name: "template74.csv", lastModified: 1651136688000, webkitRelativePath: "", size: 200, type: "text/csv", …}Entonces mi archivo está en mi FormData.