首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上传插件问题

上传插件问题
EN

Stack Overflow用户
提问于 2012-05-07 10:33:48
回答 1查看 497关注 0票数 0

正在尝试让CakePHP Upload Plug-in正常工作。该文件上传良好,缩略图是created...etc,但有几个问题:

'uploads‘表中的-the 'name’字段为空

-the 'upload‘表中的’upload‘字段为空(文档示例中的’attachment‘字段)

我在上传模型的‘路径’中使用了{ -if },它使用' Upload‘作为模型文件夹-它每次都应该放在关联模型的文件夹中,而不是上传模型

代码语言:javascript
复制
//Upload MODEL
public $actsAs = array(
    'Upload.Upload' => array(
        'photo' => array(
            'thumbnailSizes' => array(
                'xvga' => '1024x768',
                'vga' => '640x480',
                'thumb' => '80x80',
            ),
            'thumbnailMethod' => 'php',
            'path' => '{ROOT}webroot{DS}uploads{DS}{model}{DS}{field}{DS}', 
            'maxSize' => '5242880', //5MB
            'mimetypes' => array('image/jpeg', 'image/png', 'image/gif', 'image/bmp'),
            'extensions' => array('jpg', 'gif', 'png'),
        ),
    )
);

//ArticleData MODEL
public $hasMany = array(
    'Upload' => array(
        'className' => 'Upload',
        'foreignKey' => 'foreign_key',
        'conditions' => array(
            'Upload.model' => 'ArticleData',
        ),
    ),
);

//CONTROLLER
public function admin_upload() {        
    if(!empty($this->request->data)) {
        $this->loadModel('Upload');
        debug($this->request->data);
        if($this->Upload->save($this->request->data)) {
            $this->Session->setFlash('SAVED!!!!!!!!');
        } else {
            $this->Session->setFlash('NOT SAVED!!!!!!!!');
        }
    }
}

// VIEW
echo $this->Form->create('ArticleData', array('type'=>'file'));
echo $this->Form->input('Upload.model', array('type'=>'hidden', 'value'=>'ArticleData'));
echo $this->Form->input('Upload.foreign_key', array('type'=>'hidden', 'value'=>'4f93676e-347c-4e0c-8e6c-0a3cadcd7f7c'));
echo $this->Form->input('Upload.photo', array('type'=>'file'));
echo $this->Form->end('Submit');
EN

回答 1

Stack Overflow用户

发布于 2012-05-08 07:58:44

戴夫:

'uploads‘表中的

-the 'name’字段为空

这是正常的,我认为这更像是一个“显示”名称字段,而不是“文件名”字段。在您的示例中,名称应存储在"photo“字段中。

-if我在上传模型的‘路径’中使用{ model },它使用' Upload‘作为模型文件夹-它每次都应该放在关联模型的文件夹中,而不是上传模型

您需要为模型添加别名,如下所示:

代码语言:javascript
复制
//ArticleData MODEL
public $hasMany = array(
    'AliasModelHere' => array(
        'className' => 'Upload',
        'foreignKey' => 'foreign_key',
        'conditions' => array(
            'Upload.model' => 'ArticleData',
        ),
    ),
);

// Then

$this->ArticleData->AliasModelHere->save($data)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10476033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档