2

我正在使用 jose gonzalez 的 cakephp-upload插件将图像上传到我们的应用程序。默认情况下,它们被保存在这样的目录中:webroot/files/user/photo/{user_id}这很好,除非我们想要显示这样的图像,使用$this->Html->image()它在 webroot/img 目录中搜索图像。

我已经尝试过显示图像

echo $this->Html->image('../files/user/photo/' .
        $user['User']['photo_dir'] . '/' .
        $user['User']['photo']);

哪个有效,但我想知道是否有某种方法可以告诉这个插件保存到 img 目录中?该文档没有提到任何这些。

而且,有没有办法告诉$this->Form->input('User.photo', array('type' => 'file'));它只接受图像文件?

4

1 回答 1

3

as you can see in this file, path is set like:

public $defaults = array(
    'rootDir' => null,
    'pathMethod' => 'primaryKey',
    'path' => '{ROOT}webroot{DS}files{DS}{model}{DS}{field}{DS}',
...

you could change it to make:

'path' => '{ROOT}webroot{DS}img{DS}'

and for your second question, you could use accept attribute, like:

$this->Form->input('User.photo', 
    array(
        'type' => 'file', 
        'options' => array('accept' => 'image/*')
    )
);
于 2013-09-24T04:53:52.683 回答