Cakephp 上传插件-如何覆盖路径?

Cakephp 上传插件-如何覆盖路径?,cakephp,plugins,upload,cakephp-2.2,Cakephp,Plugins,Upload,Cakephp 2.2,使用。我想上传外键文件夹中的文件以保证随机性,因为在覆盖文件之前,它似乎没有对现有文件进行任何检查 我想上传一个文件,比如: /webroot/uploads/02/88/06/4f93676e-347c-4e0c-8e6c-0a3cadcd7f7c/my_photo.jpg 当我设置“pathMethod”=>“random”时,我得到0-100个文件夹之间的3个随机数,但我没有得到主键文件夹 或者,如果我设置“pathMethod”=>“primaryKey”,我会得到主键文件夹,但不会得

使用。我想上传外键文件夹中的文件以保证随机性,因为在覆盖文件之前,它似乎没有对现有文件进行任何检查

我想上传一个文件,比如:

/webroot/uploads/02/88/06/4f93676e-347c-4e0c-8e6c-0a3cadcd7f7c/my_photo.jpg
当我设置“pathMethod”=>“random”时,我得到0-100个文件夹之间的3个随机数,但我没有得到主键文件夹

或者,如果我设置“pathMethod”=>“primaryKey”,我会得到主键文件夹,但不会得到随机数

在中,有一个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'),
        ),
    )
);

前几天我刚用过这个。首先,从外观上看,你可以选择其中之一,但不能同时选择两者。我不确定uploadSettings功能是否不起作用,但我会尝试这样使用它:

$this->Upload->uploadSettings('Upload', 'photo', 'path',  '{ROOT}webroot{DS}uploads{DS}test{DS}ArticleData{DS}{field}');
它似乎可以接受数组和非数组,但可能无法正确接受数组,所以请尝试这种方式

另外,关于您要完成的任务,您提到了外键,但也提到了主键。我认为它不支持使用外键,但是如果您使用上传条目的主键作为UUID,应该可以。但若您试图使用外键,请查看path设置和rootDir设置的组合