Jak uzyskać adres URL pola pliku danego węzła?


12

$node->field_filedaje mi FileFieldItemList, podczas gdy pierwszy wpis wydaje się być FileItem .

$node->field_file->getValue()daje mi liczbę całkowitą (chyba identyfikator pliku). Jak mogę faktycznie pobrać plik URI z tego pliku?

Odpowiedzi:


16

Najpierw musisz załadować go z FID:

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

I po :

  $imageSRC = file_create_url($file->getFileUri());

2
Możesz użyć File :: url (), aby to skrócić: $ imageSRC = $ file-> url ();
keithm

File:url()jest przestarzałe z dniem 8.7.x. Zobacz: drupal.org/node/3019830
Keven

2

Możliwe jest również wykonanie jednej linijki za pomocą magicznej metody:

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

Lub renderować jako ciąg

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

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.