Wie erhalte ich die URL eines Dateifelds eines bestimmten Knotens?

11

$node->field_filegibt mir eine FileFieldItemList, während der erste Eintrag ein FileItem zu sein scheint .

$node->field_file->getValue()gibt mir eine ganze Zahl (ich denke die Datei-ID). Wie kann ich tatsächlich die herunterladbare Datei uri daraus erhalten?

Alex
quelle

Antworten:

14

Zuerst müssen Sie es mit dem fid laden:

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

Und danach :

  $imageSRC = file_create_url($file->getFileUri());
Kevin
quelle
2
Sie können File :: url () verwenden, um dies zu verkürzen: $ imageSRC = $ file-> url ();
Keithm
File:url()ist ab veraltet 8.7.x. Siehe: drupal.org/node/3019830
Keven
2

Es ist auch möglich, Einzeiler mit magischer Methode zu machen:

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

Oder als String rendern

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

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

zanvidmar
quelle