0

我是 cake php 新手,并尝试使用 meioupload 上传文件。,

搜索了完整的步骤。但我不确定我是否阅读了完整的文档。

所以我在这里。,我将讨论我所做的事情。,

从这个链接 http://www.meiocodigo.com/projects/meioupload/

我创建了一个名为“产品”的表

CREATE TABLE products( idint(8) unsigned NOT NULL auto_increment, namevarchar(255) default NULL, descriptiontext default NULL, pricedouble default NULL, picturevarchar(255) default NULL, dirvarchar(255) default NULL, mimetypevarchar(255) NULL, filesizeint(11 ) 无符号默认 NULL, createddatetime 默认 NULL, modifieddatetime 默认 NULL,PRIMARY KEY ( id) )

然后在我的模型中添加“$actAs”变量之后,它看起来像

`

类产品扩展 AppModel{

public $name="Product";

var $actsAs = array(
    'MeioUpload' => array(
        'picture' => array(
            'dir' => 'uploads',
            'create_directory' => true,
            'max_size'=>'10 Mb',
            'allowed_mime' => array('image/jpeg', 'image/pjpeg', 'image/png'),
            'allowed_ext' => array('.jpg', '.jpeg', '.png'),
            'thumbsizes' => array(
                'normal' => array('width'=>200, 'height'=>200),
            ),
            'default' => 'default.jpg',
        )
    )
);

} `

并从https://github.com/jrbasso/MeioUpload/blob/master/Model/Behavior/MeioUploadBehavior.php上传了 Model->Behaviour->MeioUploadBehavior.php 中的 MeioUploadBehavior.php 文件

我的控制器看起来像

Class productscontroller extends AppController{

public $name="Products";

public function beforeFilter(){

    $this->layout="admin";
}
public function admin_upload(){

}

}

我的视图文件来自 view->products->admin_upload.ctp

<?php
echo $this->Form->create('Product', array('type' => 'file'));
echo $this->Form->input('picture', array('type' => 'file'));
echo $this->Form->input('dir', array('type' => 'hidden'));
echo $this->Form->input('mimetype', array('type' => 'hidden'));
echo $this->Form->input('filesize', array('type' => 'hidden'));
echo $this->Form->end('Submit');

?>

当我运行 localhost/test/cake/admin/products/upload

我看到带有文件字段和提交按钮的表单。,

当我选择图像并提交时,表单已成功提交,并且在 webroot->uploads->“thumb”中只创建了一个空文件夹。没有图像移动到上传和拇指文件夹。,

而且表中也插入了数据..

我是否需要在我的操作中手动保存数据!?

请帮忙。

非常感谢。

4

1 回答 1

0

是的,看起来您的控制器的操作是空的。save()尝试使用模型的方法保存从表单提交的数据。这将触发 MeioUpload 保存与表单一起上传的文件。

看起来您使用的是 CakePHP 2.x,我建议您将插件限定为模型'MeioUpload.MeioUpload'$actsAs属性。uploads确保您在 webroot 中的文件夹上提供适当的写入和执行权限。

资料来源:我正在使用 MeioUpload 插件构建自己的网站。

于 2012-03-19T06:26:19.270 回答