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?

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

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.