У меня есть небольшая проблема здесь.
Я пытаюсь преобразовать изображение в строку base64, после чего я хочу сохранить строку в BLOB-объекте в MySQL.
Таким образом, блоб может отображаться в мобильных приложениях.
это мой код:
$data = file_get_contents($_FILES["picture"]["tmp_name"]);
$image = base64_encode($data);
Я уже успешно сохранил BLOB-объект в MySQL, но не могу отобразить изображение на веб-сайте.
<td> <img src="<?php echo base64_decode($user->getPicture()); ?>"></td>
потому что результат: ������� and many more
Я ошибся ?
Пожалуйста, поправьте меня 🙂
src
Атрибут изображения ДОЛЖЕН указывать на URL. Вы не можете сбросить необработанное двоичное содержимое изображения и ожидать, что оно будет работать. Браузер возьмет эти необработанные двоичные данные и попытается попасть на исходный сервер страницы и запросить эти данные, как если бы это был URL-адрес файла. то есть у вас есть это на странице, загруженной с http://example.com/foo/bar/baz.php
:
<img src="blahblahblahblah" />
что приведет к запросу браузера
http://example.com/foo/bar/blahblahblahblah
Если вы хотите встроить свое изображение в страницу, то вы должны использовать URI данных:
<img src="data:image/jpeg;base64,<?php echo $base64_encoded_image ?>" />
Других решений пока нет …