Comment obtenir l'url d'un champ fichier d'un nœud donné?

11

$node->field_fileme donne un FileFieldItemList tandis que la première entrée semble être un FileItem .

$node->field_file->getValue()me donne un entier (je suppose que l'ID du fichier). Comment puis-je réellement obtenir l'URI du fichier téléchargeable?

Alex
la source

Réponses:

14

Vous devez d'abord le charger avec le fid:

  $file = \Drupal\file\Entity\File::load($fid);

Et après :

  $imageSRC = file_create_url($file->getFileUri());
Kevin
la source
2
Vous pouvez utiliser File :: url () pour raccourcir ceci: $ imageSRC = $ file-> url ();
keithm
File:url()est obsolète à partir du 8.7.x. Voir: drupal.org/node/3019830
Keven
2

Il est également possible de faire du one-liner avec la méthode magique:

$node->field_file->entity->getFileUri();

Ou pour rendre en tant que chaîne

Option 1: $node->field_file->entity->url();

Option 2: file_create_url($node->field_file->entity->getFileUri());

zanvidmar
la source