将MongoDB gridFS中的图像嵌入到我的HTML页面中

时间:2012-02-12 18:28:25

标签: html mongodb image gridfs

我通过MongoDBs gridFS将一些文件保存到我的数据库中。 我知道如何在浏览器中使用php检索文件:

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

完美无缺。但我现在不想将图像置于上下文中。

e.g。

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

如果我把代码

echo $object->getBytes();

在htmlpage中,我只是得到这样的图像:

  

JFIFHH C!“$”$ C Y“ O!”12AQaq BR #b 3Cr $S 4 %cs 5&amp; DT &amp;!1A“Q2q #Ba ? ( # EUDDUU # ( ?2 .h# k.dM(=]NkEgZzGIВr〜+ X - LT; {YZSm nNIDAmDU 的GU:H6J̺“LVD:H2S7U ?; 7nwV $ʞi| WP QX۾/ K':= IE浏览器 0) E 4OU G W `t] . j =' / :9 V a_}2 a_DJ [RJ F6B&LT;ѿc= 8Q1(“B⅝4&LT;# L K Iy “ ? 6 6 a7 k % F6 y v

依旧......

有谁知道如何将图像嵌入网站???

由于

2 个答案:

答案 0 :(得分:0)

您应该添加一个返回图像的新PHP页面(具有适当的内容类型和内容长度标题),就像您上面的第一个示例一样。假设该页面被称为“image.php”。在“主”页面中,您应该构建一个图像标记,如:

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

其中“...”被一些查询字符串替换以查找并提供您想要的图像(_id字段中GridFS文件的ObjectId的字符串表示可能在这里做得很好,或者其他一些独特的标识符)。

答案 1 :(得分:0)

如果您正在寻找in-doc图片,可以尝试

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

但是根据你的整体意图,dcrosta的方法可能更受欢迎。

您必须插入正确的图像类型和编码(或重新编码)。