Вот как я храню изображение в базе данных:
$qr = NULL;
if ($file = file_save_upload('qr', $validators, FALSE, 0)) {
$type = pathinfo($file->getFileUri(), PATHINFO_EXTENSION);
$qr = file_get_contents($file->getFileUri());
$base64 = 'data:image/'.$type.';base64,'.base64_encode($qr);
}
Обратите внимание, что data
в начале base64 есть. Затем я извлекаю данные из базы данных и помещаю их внутрь тега изображения, например:
$form['qr'] = [
'#prefix' => '<img width="100" height="100" src="'.$document[0]['QR_Image'].'"></img>',
];
Однако, когда я иду, чтобы проверить элемент, я получаю разбитый символ изображения, и источник читает image/png;base64,...
, без части данных. Когда я набираю данные в начале атрибута источника, появляется изображение.
Есть идеи, почему Drupal отключает часть данных моего блока данных?