cakephp将图像序列化为json对象

时间:2013-12-06 11:53:40

标签: json image cakephp

我将图像作为longBLOB存储在database.my表结构中如下

CREATE TABLE `posts` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `title` varchar(50) DEFAULT NULL,
 `body` text,
 `created` datetime DEFAULT NULL,
 `modified` datetime DEFAULT NULL,
 `user_id` int(11) DEFAULT NULL,
 `image` longblob,
  PRIMARY KEY (`id`)
).

我需要使用json格式的所有其他数据发送此图像。我在控制器中的代码是

public function index() 
{
        $this->set(array('posts'=> $this->Post->find('all'),
                 '_serialize' => array('posts')));
}

当我转到localhost / app / posts.json时,我得到了json格式的所有数据,但是对于图像我得到了null。

{"Post":{"id":"1","title":"The title","body":"This is the post body.","created":"2013-    11-11 16:32:45","modified":null,"user_id":"1","image":null}

我找到了一些解决方案,说明在数据库中存储图像路径并将其转换为JSON并将其发送到服务器,但我不想在数据库中存储图像路径,那么任何人都可以帮我发送JSON格式的图像吗? / p>

1 个答案:

答案 0 :(得分:1)

我不会将图像存储在数据库中,但您可以选择。

使用base64对二进制日期进行编码,例如,请参阅Binary Data in JSON String. Something better than Base64