$node->field_file
me 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?
Primeiro você precisa carregá-lo com o fid:
$file = \Drupal\file\Entity\File::load($fid);
E depois :
$imageSRC = file_create_url($file->getFileUri());
File:url()
está obsoleto a partir de8.7.x
. Veja: drupal.org/node/3019830També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());
fonte