URI로 파일 엔터티로드


12

Drupal 8 또는 Drupal 9에서 URI로 파일을로드하는 방법이 있습니까?

Drupal 7에서는 다음 예제를 통해 가능합니다.

$uri = 'public://file.xyz';

// Take a look at: file.inc::file_load_multiple
$files = file_load_multiple(array(), array('uri' => $uri));
$file = reset($files); // If empty, $file will be false, otherwise will contain the required file

여기에서 가져온 https://www.drupal.org/forum/support/module-development-and-code-questions/2012-06-06/load-a-file-by-uri#comment-6493610

답변:


19

주어진 파일 URI로 파일 엔티티를 검색 할 때 필요한 조건을 정의 할 수 있는 loadByProperties방법 \Drupal\Core\Entity\EntityStorageInterface이 있습니다.

/* @var \Drupal\file\FileInterface[] $files */
$files = \Drupal::entityTypeManager()
  ->getStorage('file')
  ->loadByProperties(['uri' => $uri]);
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.