Cake PHP上传插件 - 如何在数据库中存储缩略图路径

时间:2014-05-14 08:45:05

标签: image cakephp plugins model upload

我已经为cakephp安装了上传插件。 我一直试图找出如何将缩略图路径或缩略图名称存储在名为Portfolio的名为image_thumb的字段中。我想以与存储原始图像名称相同的方式存储它。图像的dir选项在那里,但缩略图dir没有这样的东西。

我使用上传插件的模型代码是:

public $actsAs = array(
    'Upload.Upload' => array(
        'image' => array(

            'fields' => array(
                'dir' => 'image'
            ),

            'thumbnailSizes' => array(
                'small' => '640x480',
            ),

            'thumbnailName' => '{filename}_{size}_{geometry}',

            'thumbnailPath' => '{ROOT}webroot{DS}img{DS}{model}{DS}Thumbnails{DS}'
        )
    )
);

控制器,添加功能,插件发生在哪里我假设(虽然我没有改变任何东西,  它是烘焙代码)

public function admin_add() {
        $this->layout='admin';
        if ($this->request->is('post')) {
            $this->Portfolio->create();
            if ($this->Portfolio->save($this->request->data)) {
                $this->Session->setFlash(__('The portfolio has been saved.'));
                return $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash(__('The portfolio could not be saved. Please, try again.'));
            }
        }
    }

当图像路径上传到数据库中时,图像本身和缩略图将保存在我的应用程序的指定目录中。但我想在数据库中保存缩略图的路径,以便我可以在我的视图中使用它。

非常感谢帮助,因为我对cakephp这么新,我必须在很短的时间内搞清楚。 感谢。

1 个答案:

答案 0 :(得分:0)

你可能在这里犯了错误

'fields' => array(
                'dir' => 'image_thumb'         //table field name
            ),