Come ottenere l'URL di un campo file di un determinato nodo?


11

$node->field_filemi dà un FileFieldItemList mentre la prima voce sembra essere un FileItem .

$node->field_file->getValue()mi dà un numero intero (immagino l'id del file). Come posso effettivamente ottenere il file scaricabile uri da quello?

Risposte:


14

Per prima cosa devi caricarlo con il fid:

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

E dopo :

  $imageSRC = file_create_url($file->getFileUri());

2
Puoi usare File :: url () per rendere questo più breve: $ imageSRC = $ file-> url ();
keithm,

File:url()è obsoleto a partire da 8.7.x. Vedi: drupal.org/node/3019830
Keven

2

È anche possibile eseguire una sola riga con il metodo magico:

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

O per renderizzare come stringa

Opzione 1: $node->field_file->entity->url();

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.