我正在使用jose gonzalez的cakephp-upload plugin将图片上传到我们的应用。默认情况下,它们被保存在这样的目录中:webroot/files/user/photo/{user_id}
这很好,除非我们想要使用$this->Html->image()
显示这些图像,而这些图像在webroot / img目录中搜索图像。 / p>
我已经尝试用
显示图像echo $this->Html->image('../files/user/photo/' .
$user['User']['photo_dir'] . '/' .
$user['User']['photo']);
哪个有效,但我想知道是否有某种方法可以告诉这个插件保存到img目录中?文档中没有提到任何内容。
而且,有没有办法告诉$this->Form->input('User.photo', array('type' => 'file'));
只接受图像文件?
答案 0 :(得分:3)
正如您在此file中看到的那样,path
设置为:
public $defaults = array(
'rootDir' => null,
'pathMethod' => 'primaryKey',
'path' => '{ROOT}webroot{DS}files{DS}{model}{DS}{field}{DS}',
...
您可以将其更改为:
'path' => '{ROOT}webroot{DS}img{DS}'
对于第二个问题,您可以使用accept
属性,例如:
$this->Form->input('User.photo',
array(
'type' => 'file',
'options' => array('accept' => 'image/*')
)
);