Я пытаюсь создать продукт с изображением продукта на drupal с использованием API. Я создал собственный модуль для того же, в котором следующий код загружает мое изображение в Drupal:
$path = base64_decode($encodedData['content']);
$data= $this->grabImage($path);
$file = file_save_data($data, null, FileSystemInterface::EXISTS_REPLACE);
$id = $файл->id();
Я использую метод drupal file_save_data для успешной загрузки изображения, и оно загружается в следующий каталог drupal:
mystore2/веб/сайты/по умолчанию/файлы
Теперь я использую это $file->id() // скажем 53 значение в моем массиве продуктов, чтобы связать это изображение с моим продуктом.
$изображение['поле_картинка'] = [[
"target_id" => 53,
"альт" => 'абвд',
"ширина" => 224,
"высота" => 225,
"название" => '',
"target_type" => "файл"
]];
Следуйте ответу, который я получаю от API:
> сообщение:
> Необрабатываемый объект: проверка не удалась.
> field_picture.0: разрешены только файлы со следующими расширениями: png gif jpg jpeg.\n
Итак, как я могу передать расширение в file_save_data()? Или как я могу добавить это изображение к своему продукту?
Я использую Drupal версии ^9.