¿Cómo obtener la url de un campo de archivo de un nodo dado?

11

$node->field_fileme da una FileFieldItemList mientras que la primera entrada parece ser un FileItem .

$node->field_file->getValue()me da un número entero (supongo que la identificación del archivo). ¿Cómo puedo obtener el uri del archivo descargable de eso?

Alex
fuente

Respuestas:

14

Primero necesitas cargarlo con el fid:

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

Y después :

  $imageSRC = file_create_url($file->getFileUri());
Kevin
fuente
2
Puede usar File :: url () para acortar esto: $ imageSRC = $ file-> url ();
keithm
File:url()está en desuso a partir de 8.7.x. Ver: drupal.org/node/3019830
Keven
2

También es posible hacer una línea con el método mágico:

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

O para renderizar como cadena

Opción 1: $node->field_file->entity->url();

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

zanvidmar
fuente