web-dev-qa-db-ja.com

特定のノードのファイルフィールドのURLを取得する方法

_$node->field_file_は FileFieldItemList を返しますが、最初のエントリは FileItem のようです。

$node->field_file->getValue()は整数を与えます(ファイルIDと思います)。どうすれば実際にダウンロード可能なファイルのURIを取得できますか?

11
Alex

最初に、fidでロードする必要があります。

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

以降 :

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

マジックメソッドでワンライナーを行うことも可能です:

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

または文字列としてレンダリングする

オプション1:$node->field_file->entity->url();

オプション2:file_create_url($node->field_file->entity->getFileUri());

2
zanvidmar