我将图像保存为blob到我的数据库,因为我必须稍后通过api调用将它们发送到应用程序。
保存工作正常,但在填充blob字段时无法选择行。
例如:
$this->Picture->find('list')
返回id和图片名称。
$this->Picture->find('all')
根本不会返回任何内容! 我可以在sql输出中看到正确的语句,但find不返回任何值。 调整($ this-> Picture-> find('all'))只是空的。
当我删除blob字段的内容时,$ this-> Picture-> find('all')会返回包含所有数据的右行。
我的数据库中的字段是BLOB。 这里出了什么问题?有什么想法吗?
声明如下:
SELECT `Picture`.`id`, `Picture`.`picture`, `Picture`.`name`, `Picture`.`type`, `Picture`.`created`, `Picture`.`modified` FROM `app`.`pictures` AS `Picture` WHERE `Picture`.`id` = 13 LIMIT 1
如果我使用phpmyadmin运行它,则会找到一行。
我在我的函数中使用此代码:
public function show_image($pictureId) {
$this->set('data', $this->Picture->findById($pictureId));
}
show_image.ctp如下所示:
$this->autoRender = false;
$this->response->type($data['Picture']['type']);
$this->response->body($data['Picture']['picture']);
我尝试在我的视图中调用这样的图片:
$this->Html->image(Router::url(array('controller' => 'mycontroller', 'action' => 'show_image', $mydata['picture_id'])));