Bagaimana cara mendapatkan url bidang file dari node yang diberikan?

11

$node->field_filememberi saya FileFieldItemList sementara entri pertama tampaknya menjadi FileItem .

$node->field_file->getValue()memberi saya bilangan bulat (saya kira id file). Bagaimana saya bisa benar-benar mendapatkan file yang dapat diunduh uri dari itu?

Alex
sumber

Jawaban:

14

Pertama, Anda perlu memuatnya dengan fid:

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

Dan kemudian :

  $imageSRC = file_create_url($file->getFileUri());
Kevin
sumber
2
Anda dapat menggunakan File :: url () untuk mempersingkat ini: $ imageSRC = $ file-> url ();
keithm
File:url()tidak digunakan lagi pada tanggal 8.7.x. Lihat: drupal.org/node/3019830
Keven
2

Dimungkinkan juga untuk melakukan one-liner dengan metode ajaib:

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

Atau untuk dirender sebagai string

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

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

Zanvidmar
sumber