使用Upload Plugin。我想将foreign_key文件夹中的文件上传到“保证”随机,因为它在覆盖文件之前似乎没有检查现有文件。
我想将文件上传到以下内容:
/webroot/uploads/02/88/06/4f93676e-347c-4e0c-8e6c-0a3cadcd7f7c/my_photo.jpg
当我设置'pathMethod'=>'random'
时,我得到3个随机数(0-100之间)文件夹,但我没有得到主键文件夹。
或者,如果我设置'pathMethod'=>'primaryKey',我会获得主键文件夹,但不会获得随机数。
在Upload behavior of the plugin中,有一个uploadSettings
函数(不确定它是不是它的用途),但是当我尝试通过我的控制器运行它时,它没有做任何事情:
//ArticleDatasController
$this->Upload->uploadSettings('Upload', 'photo', array('path'=> '{ROOT}webroot{DS}uploads{DS}test{DS}ArticleData{DS}{field}'));
if($this->Upload->save($this->request->data)) {
这是我的上传模型的$ actsAs:
//Upload model
public $actsAs = array(
'Upload.Upload' => array(
'photo' => array(
'thumbnailSizes' => array(
'xvga' => '1024x768',
'vga' => '640x480',
'thumb' => '80x80',
),
'thumbnailMethod' => 'php',
'thumbnailQuality' => '80',
'pathMethod'=>'random',
'path' => '{ROOT}webroot{DS}uploads{DS}{field}{DS}',
'maxSize' => '5242880', //5MB
'mimetypes' => array('image/jpeg', 'image/png', 'image/gif', 'image/bmp'),
'extensions' => array('jpg', 'gif', 'png', 'bmp'),
),
)
);
答案 0 :(得分:0)
我前几天刚刚使用过它。首先从它看起来的方式来看,你可以得到但不能同时得到。我不确定uploadSettings()函数不起作用,但我会尝试使用它:
$this->Upload->uploadSettings('Upload', 'photo', 'path', '{ROOT}webroot{DS}uploads{DS}test{DS}ArticleData{DS}{field}');
它似乎接受数组和非数组,但它可能无法正确接受数组,所以请尝试这种方式。
另外,至于你想要完成什么,你提到了一个外键,但也提到了主键。我不相信这支持使用外键,但如果您使用上传条目的主键作为UUID,它应该没问题。但是,如果您尝试使用外键,请查看路径设置和rootDir设置的组合。