Drupal 8 & Drupal 9 - Lancer le téléchargement d'un fichier depuis un formulaire

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

Ajouter un commentaire

Ne sera pas publié
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...