从mongoDb加载图像失败

时间:2014-05-23 19:14:32

标签: php mongodb

我尝试在浏览器中查看我从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);
}

?>

有没有解释为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

标头不正确:

header('Content-type: image/png;');
                               ^--- don't put a semi-colon here

没有图像类型image/png;。它只是image/png,HTTP标题由换行符分隔,而不是分号。