Làm cách nào để lấy url của trường tệp của một nút đã cho?


11

$node->field_filecung cấp cho tôi một FileFieldItemList trong khi mục đầu tiên dường như là FileItem .

$node->field_file->getValue()cho tôi một số nguyên (tôi đoán id tập tin). Làm thế nào tôi thực sự có thể có được tập tin tải về uri từ đó?

Câu trả lời:


14

Trước tiên, bạn cần tải nó với fid:

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

Và sau :

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

2
Bạn có thể sử dụng File :: url () để rút ngắn hơn: $ imageSRC = $ file-> url ();
— keithm

File:url()bị phản đối như của 8.7.x. Xem: drupal.org/node/3019830
— Keven

2

Cũng có thể thực hiện một lớp lót bằng phương pháp ma thuật:

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

Hoặc để kết xuất dưới dạng chuỗi

Lựa chọn 1: $node->field_file->entity->url();

Lựa chọn 2: file_create_url($node->field_file->entity->getFileUri());

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.