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


11

$node->field_file最初のエントリはFileItemのようですが、FileFieldItemList取得します。

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

回答:


14

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

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

以降 :

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

2
File :: url()を使用してこれを短くすることができます:$ imageSRC = $ file-> url();
keithm

File:url()は非推奨です8.7.x。参照:drupal.org/node/3019830
Keven

2

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

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

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.