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


12

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

$node->field_file->getValue()дає мені ціле число (я думаю, ідентифікатор файлу). Як я можу фактично отримати з цього урі файл, який можна завантажити?

Відповіді:


16

Спочатку потрібно завантажити його 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.