Lo que hay que cambiar para que el nombre del archivo después de descargar sea el mismo que indiqué
Por qué no se detecta el tipo de archivo en Windows y Linux. (en macos se define la extensión)
No guardo el archivo en el servidor, pero genero datos sobre la marcha y los envío a la nueva Response() Después de descargar, el archivo no tiene el nombre que quiero, tampoco muestra la extensión del archivo en Windows
public function download(Request $request): Response { $array = []; /// filling the array $serializer = new Serializer([new ObjectNormalizer()], [new CsvEncoder()]); $csv = $serializer->encode($array, 'csv', [CsvEncoder::DELIMITER_KEY => ';', CsvEncoder::OUTPUT_UTF8_BOM_KEY => true]); $response = new Response($csv); $disposition = HeaderUtils::makeDisposition(HeaderUtils::DISPOSITION_ATTACHMENT, "desiredFilename.csv"); $response->headers->set('Content-Type', 'text/csv; charset=UTF-8'); $response->headers->set('Content-Disposition', $disposition); return $response; }nombre de archivo después de descargarlo como e9ddc45c-f3b6-404d-8251-ee51bc488c6e.csv
con respecto a The MDN Doc , debe incluir su nombre de archivo entre comillas dobles filename="desiredFilename.csv" .
Creo que tal vez tengas que envolver el nombre del archivo en él:
$disposition = HeaderUtils::makeDisposition(HeaderUtils::DISPOSITION_ATTACHMENT, '"desiredFilename.csv"');FYI: he visto Symphony Docs y su ejemplo es como lo que ha proporcionado.
Puedes probar esto:
$response->header->set('Content-Disposition: attachment; filename="desiredFilename.csv"');Creo que este enlace puede ser útil:Symfony Docs
Disfrutar !