Como obter o URL de um campo de arquivo de um determinado nó?

11

$node->field_fileme fornece um FileFieldItemList enquanto a primeira entrada parece ser um FileItem .

$node->field_file->getValue()me dá um número inteiro (acho que o ID do arquivo). Como posso obter o uri do arquivo para download a partir disso?

Alex
fonte

Respostas:

14

Primeiro você precisa carregá-lo com o fid:

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

E depois :

  $imageSRC = file_create_url($file->getFileUri());
Kevin
fonte
2
Você pode usar o File :: url () para torná-lo mais curto: $ imageSRC = $ file-> url ();
KeithM
File:url()está obsoleto a partir de 8.7.x. Veja: drupal.org/node/3019830
Keven em
2

Também é possível fazer uma linha com o método mágico:

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

Ou para renderizar como string

Opção 1: $node->field_file->entity->url();

Opção 2: file_create_url($node->field_file->entity->getFileUri());

zanvidmar
fonte