Получение URL файла по его id в Drupal 9

Опубликовано 2023.02.17

Чтобы получить URL-адрес файла в Drupal 9 на основе его идентификатора файла, вы можете использовать метод Url::fromUri() и передать ему URI файла. Вот пример того, как это сделать:

  1. use Drupal\Core\Url;
  2.  
  3. $file_id = 123;
  4. $file = \Drupal\file\Entity\File::load($file_id);
  5.  
  6. if ($file) {
  7. $uri = $file->getFileUri();
  8. $url = Url::fromUri(\Drupal::service('file_url_generator')->generateAbsoluteString($uri));
  9.  
  10. $file_url = $url->toString();
  11. // $file_url содержит url файла
  12. }

В этом коде мы сначала загружаем объект файла, используя его идентификатор. Затем мы получаем URI файла, используя метод getFileUri().

Затем мы создаем объект URL, используя метод Url::fromUri() и передавая ему URI файла. Затем мы преобразуем объект URL в строку с помощью метода toString() и присваиваем полученный URL переменной $file_url.