如何获取给定节点的文件字段的URL?


12

$node->field_file给我一个FileFieldItemList,而第一个条目似乎是FileItem

$node->field_file->getValue()给我一个整数(我想是文件ID)。我实际上如何从中获得可下载的文件uri?

Answers:


15

首先,您需要使用fid加载它:

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

之后 :

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

2
您可以使用File :: url()使其更短:$ imageSRC = $ file-> url();
基思姆

File:url()从开始不推荐使用8.7.x。请参阅:drupal.org/node/3019830
凯文

2

也可以使用魔术方法进行单线:

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

或渲染为字符串

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.