2012-05-17 51 views
1

我目前正在开发一个脚本,要求使用GridFS将图像存储到Mongo中,但是当检索文件时(使用php标头)width =“”和height = “”HTML已经放置在显示器中,有什么方法可以改变它或将它存储在Mongo/GridFS中?调整大小和特定的宽度和高度MongoDB + GridFS + PHP

// get GridFS files collection 
    $grid = $db->getGridFS(); 

    // retrieve file from collection 
    $file = $grid->findOne(array('_id' => new MongoId('4fb437dbee3c471b1f000001'))); 

    // send headers and file data 
    header('Content-Type: image'); 
    echo $file->getBytes(); 
    exit; 

回答

1

PHP不会自己添加这些宽度和高度标签。这可能是您的浏览器为您添加的东西,但请检查实际发送的内容!

在任何情况下,当您存储在GridFS的文件,你可以设置额外的元数据:

$grid->storeFile($filename, array("height" => 42, "width" => 38)); 

为了充分利用这些信息,你将不得不这样做,查询这一个单独的查询,然后将其注入到您的HTML代码中。查询元数据可以使用:

$file = $grid->findOne(array('_id' => new MongoId('4fb437dbee3c471b1f000001'))); 
var_dump($file); 
相关问题