วิธีรับ url ของฟิลด์ไฟล์ของโหนดที่ระบุ?


12

$node->field_fileให้ฉันFileFieldItemListขณะที่รายการแรกดูเหมือนว่าจะเป็นFileItem

$node->field_file->getValue()ให้ฉันเต็ม (ฉันเดารหัสไฟล์) ฉันจะได้รับไฟล์ uri ที่สามารถดาวน์โหลดได้จากนั้นอย่างไร

คำตอบ:


16

ก่อนอื่นคุณต้องโหลดด้วย fid:

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

และหลังจากนั้น :

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

2
คุณสามารถใช้ File :: url () เพื่อทำให้สิ่งนี้สั้นลง: $ imageSRC = $ file-> url ();
keithm

File:url()8.7.xจะเลิกเป็นของ ดู: drupal.org/node/3019830
Keven

2

นอกจากนี้ยังเป็นไปได้ที่จะทำการซับเดี่ยวด้วยวิธีเวทย์มนตร์:

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

หรือเพื่อแสดงเป็นสตริง

ตัวเลือกที่ 1: $node->field_file->entity->url();

ตัวเลือก 2: file_create_url($node->field_file->entity->getFileUri());

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.