2015-01-02 4 views
0

У меня здесь небольшая проблема. Я пытаюсь преобразовать изображение в строку base64, после чего хочу сохранить строку в blob в MySQL. Итак, blob может отображаться в мобильных приложениях.PHP: Как отобразить изображение из blob

это мой код:

$data = file_get_contents($_FILES["picture"]["tmp_name"]); 
$image = base64_encode($data); 

Я уже успешно сохранить блоб в MySQL, но я не могу отображаться изображение в веб-сайте.

<td> <img src="<?php echo base64_decode($user->getPicture()); ?>"></td> 

, потому что результат: ������� and many more

я не прав? Пожалуйста, исправьте меня :)

+0

@u_mulder Hes не использует короткие теги, поэтому ваш ответ не должен их использовать, иначе это может вызвать неоправданную путаницу. Также ему нужны данные: image/png; base64, getPicture()); ?> 'Конечно, тип mime должен быть уместным для его изображения .. ie'image/jpeg' или что бы это ни было на самом деле. – prodigitalson

+0

URI должен выглядеть так: 'src =" data: image/png; base64, iVBORw0KGgoAAAANSUhEUgAAADIA ... "' - вам не хватает 'data: image ... (и т. Д.)' Часть кажется? –

+0

ups Я сделал @u_mulder – Monk

ответ

5

src атрибут изображения ДОЛЖЕН указывать на адрес. Вы не можете сбросить исходное двоичное содержимое изображения и ожидать, что он будет работать. Браузер берет эти необработанные двоичные данные и пытается попасть на исходный сервер страницы и запрашивать данные, как если бы это был файл. то есть у вас есть это на странице, загруженной из http://example.com/foo/bar/baz.php:

<img src="blahblahblahblah" /> 

, что приведет в браузере запрашивающего

http://example.com/foo/bar/blahblahblahblah 

Если вы хотите вставить изображение на странице, то вы должны использовать Data URI :

<img src="data:image/jpeg;base64,<?php echo $base64_encoded_image ?>" /> 
+0

Я уже поместил данные: image/png; base64, getPicture()); ?>, но мое изображение не отображало – Monk

+0

да, но вы ** DECODING **, что означает, что вы заполняете необработанные двоичные данные в uri данных. –

+0

извините, что вы имеете в виду? Я чувствую смущение здесь – Monk

Смежные вопросы