Как получить URL-адрес файлового поля данного узла?


12

$node->field_fileдает мне FileFieldItemList, в то время как первая запись, кажется, FileItem .

$node->field_file->getValue()дает мне целое число (я думаю, идентификатор файла). Как я могу получить загружаемый файл URI из этого?

Ответы:


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());

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.