Вставить изображения из gridFS MongoDB в мою HTML-страницу - PullRequest
0 голосов
/ 12 февраля 2012

Я сохранил некоторые файлы через gridFS MongoDBs в свою базу данных.Я знаю, как получить файлы только с php в моем браузере:

header('Content-type: '.$object->file['filetype']);
echo $object->getBytes();

Это прекрасно работает.Но теперь я не хочу помещать изображение в контекст.

например

<img><?php echo $object->getBytes(); ?></img>

Если я помещу код

echo $object->getBytes();

в html-страницу, я простополучить изображение так:

����JFIFHH��C! "$" $ ��C���Y "�� ��O!" 12AQaq�BR�� # b��3Cr�� $ S����4���% cs�5 & ��DT������� &! 1A "Q2q� # Ba��? � (� # �EUDDUU� # ��(�? 2� ��.h # k���.��d�M��� (�� = �] ��Nk��E�gZz�GI�Вr�� � ~ + x<{YZSmnNIDAmDU </em> GU: H6J̺ 'LVD: H2S7U;? 7nwV $ ʞi | Wp Qx ۾ / K»: = ���i�E�0) �E��4OU�G�W��`t] �������.�j�� = '� / �: 9�V����봺 а_} 2a_DJ [Rj F6B <ѿc = 8Q1! ( "B⅝4 <#LKYIy </em> � "���? �6�6�a7�k����% �F6�y��� v��

и так далее ...

Кто-нибудь знает, как я могу вставить изображение на сайт ???

Спасибо

Ответы [ 2 ]

0 голосов
/ 02 мая 2012

Если вы ищете изображения в формате doc, вы можете попробовать

<img src="data:image/png;base64,����JFIFHH��C !"$"$��C���Y..." />

Но метод dcrosta может быть предпочтительным в зависимости от ваших общих намерений.

Вам нужно будет подключить правильный тип изображения и кодировку (или перекодировать).

0 голосов
/ 12 февраля 2012

Вы должны добавить новую страницу PHP, которая возвращает изображение (с соответствующими заголовками типа контента и длины контента), как в первом примере выше. Скажем, эта страница называется image.php. На вашей "главной" странице вы должны создать тег изображения, например:

<img src="/path/to/image.php?..."/>

Где «...» заменяется некоторой строкой запроса для поиска и обслуживания нужного вам изображения (здесь может хорошо подойти строковое представление ObjectId файла GridFS в поле _id или какой-то другой уникальный идентификатор) ,

...