Пакет SonataMedia: Create Media Entity throws is_file() ожидает, что параметр 1 будет допустимым путем, заданной строкой

Я хочу создать объект мультимедиа изображения (используя SonataMediaBundle) со следующим кодом:

$media = new Media();
$media->setBinaryContent($binaryImageContent);
$media->setContext('default');
$media->setProviderName('sonata.media.provider.image');

$this->mediaManager->save($media);

$binaryImageContent создается следующим образом:

$binaryContent = file_get_contents($filePath);

Файл $filepath физически существует.

Однако вместо создания медиа-объекта я всегда получаю следующее предупреждение:

Предупреждение: is_file() ожидает, что параметр 1 будет допустимым путем, заданной строкой

Поскольку ошибка возникает в библиотеке, я не совсем уверен, как ее решить. Я работаю в среде докеров, поэтому я подумал, что это также может быть вызвано некоторыми проблемами с разрешениями, но та же ошибка возникает на производстве.


person Saerdn    schedule 20.10.2020    source источник


Ответы (1)


Хорошо... решение состояло в том, чтобы создать двоичный контент следующим образом:

$binaryContent = new File($filePath);
$imageMediaManager->createImageMediaObject($binaryContent);

Тогда он работает (на производстве, а не на докере, но это еще одна проблема)

person Saerdn    schedule 20.10.2020