我尝试在浏览器中查看我从mongodb获取的图像。图像正确保存,我可以使用genghis.php完美下载它,但每当我尝试使用自己的代码加载它时,无论使用getBytes()还是getResource(),结果只返回字节数据,如:
HDR¿£Ðß$iUßoÛT>‰oR¤? XG‡ŠÅ¯US[¹ÆI“¥íJ¥éØ*$ä:7‰©Û鶪O{7ü@ÙH§kk?ì<Ê»øÎí¾kktüqóÝ
以下是我用来检索图片的代码:
<?php
// Config
$dbhost = 'localhost';
$dbname = 'dbzuhra';
$colname = 'testData';
// Connect to test database
$m = new Mongo("mongodb://$dbhost");
$db = $m->$dbname;
$getGrid = $db->getGridFS();
$image = $getGrid->findOne(array('filename'=>'final_design.png'));
header('Content-type: image/png;');
$stream = $image->getResource();
while (!feof($stream)) {
echo fread($stream, 8192);
}
?>
有没有解释为什么会发生这种情况?
答案 0 :(得分:0)
标头不正确:
header('Content-type: image/png;');
^--- don't put a semi-colon here
没有图像类型image/png;
。它只是image/png
,HTTP标题由换行符分隔,而不是分号。