Voici comment depuis la soumission d'un formulaire déclencher le téléchargement d'un fichier via une BinaryFileResponse :
/** @var \Drupal\file\Entity\File $menuFile */
$menuFile = $menu->get('field_file_menu')->entity; // Ici récupération du fichier à télécharger
$headers = [
'Content-Type' => $menuFile->getMimeType(),
'Content-Disposition' => 'attachment;filename="' . $menuFile->getFilename() . '"',
];
$response = new BinaryFileResponse($menuFile->getFileUri(), 200, $headers, true);
$form_state->setResponse($response);
Contenus en rapport
Il est possible dans un contrôleur ou un bloc de récupérer un formulaire et de l'afficher comme n'importe quelle autre variable.
Ajouter un commentaire