Ios 无法使用GridFS在浏览器中显示图像
因此,我认为我已经做了一切,以便服务器的形象,我无法看到一个形象,即使我已经完全按照指示在这个网站上: 当我这样做时:Ios 无法使用GridFS在浏览器中显示图像,ios,mongodb,symfony,gridfs,Ios,Mongodb,Symfony,Gridfs,因此,我认为我已经做了一切,以便服务器的形象,我无法看到一个形象,即使我已经完全按照指示在这个网站上: 当我这样做时: $dm = $this->get('doctrine.odm.mongodb.document_manager'); $image = $dm->createQueryBuilder('MyBundle:Image') ->field('id')->equals($imageID) //I
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$image = $dm->createQueryBuilder('MyBundle:Image')
->field('id')->equals($imageID) //I have verified imageID to be correct
->getQuery()
->getSingleResult();
var_dump($image->getFile()->getBytes());
我得到:
string(194992) ""
这告诉我图像在那里,只是我无法使用以下值获取字节,因为该值为空:
echo $image->getFile()->getBytes();
请注意,我可以使用RockMongo等查看图像,因此我知道图像已正确存储,并且我可以在存储为卡盘的数据库中看到它。那怎么了
更新:我已附加文件对象的VAR_转储
object(Doctrine\MongoDB\GridFSFile)#427 (4) {
["mongoGridFSFile":"Doctrine\MongoDB\GridFSFile":private]=>
object(MongoGridFSFile)#430 (3) {
["file"]=>
array(7) {
["_id"]=>
object(MongoId)#431 (1) {
["$id"]=>
string(24) "503302b3c7e24c401a000004"
}
["name"]=>
string(6) "Image2"
["filename"]=>
string(14) "/tmp/phpBhZDAy"
["uploadDate"]=>
object(MongoDate)#432 (2) {
["sec"]=>
int(1345520307)
["usec"]=>
int(983000)
}
["length"]=>
float(194992)
["chunkSize"]=>
float(262144)
["md5"]=>
string(32) "5bbc9ede74f50f93a3f7d1f7babe3170"
}
["gridfs":protected]=>
object(MongoGridFS)#437 (5) {
["w"]=>
int(1)
["wtimeout"]=>
int(10000)
["chunks"]=>
object(MongoCollection)#438 (2) {
["w"]=>
int(1)
["wtimeout"]=>
int(10000)
}
["filesName":protected]=>
string(12) "assets.files"
["chunksName":protected]=>
string(13) "assets.chunks"
}
["flags"]=>
int(0)
}
["filename":"Doctrine\MongoDB\GridFSFile":private]=>
NULL
["bytes":"Doctrine\MongoDB\GridFSFile":private]=>
NULL
["isDirty":"Doctrine\MongoDB\GridFSFile":private]=>
bool(false)
}
null
您实际上是如何将图像提供给浏览器的?您是否已尝试先将图像保存到文件以确认可以检索到图像?是的,我已使用“持久化”保存图像,并且它们显示在数据库中,因此如何将图像提供给浏览器。。既然这似乎是问题所在,您是否有一个代码示例?