【问题标题】:Imagick and GridFSImagick 和 GridFS
【发布时间】:2012-01-04 00:00:20
【问题描述】:

我将图像存储在 MongoDB 的 GridFS 中。当我拉出图像时,我想调整它的大小,然后将其存储回数据库。我试过这个:

$image = $grid_collection ->findOne(array('_id' => new MongoID($id)));
new Imagick($image -> getBytes());

但这会在 Imagick 中引发错误。现在我可以将它临时写入磁盘并让 Imagick 读取该文件,但这似乎还有很长的路要走。有什么更好的方法建议吗?

【问题讨论】:

    标签: php image mongodb imagick gridfs


    【解决方案1】:

    是的:

    $data = $grid->findOne(array('_id' => new MongoID($id)));
    
    $img = new Imagick();
    $img->readImageBlob($data->getBytes());
    

    【讨论】:

    • 在 $img 上应用了一些功能(旋转或其他)后,如何将其存储回 Mongo 中?
    【解决方案2】:

    您不能将图像存储在规范中。什么意思

    我将图像存储在 GridFS 中

    GridFS is a spec.

    【讨论】:

    • GridFS 也是使用 GridFS 规范的 API 的名称。
    猜你喜欢
    • 2012-04-28
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2011-11-13
    • 2011-06-21
    • 2020-09-20
    相关资源
    最近更新 更多