安装和使用Uploader插件

时间:2012-07-04 15:17:29

标签: cakephp cakephp-2.0 file-upload uploader

我试图了解安装和使用CakePHP 2.x的Uploader插件的文档,该插件处理文件的上传。我有几个问题希望有人可以帮助我。关于这个主题Installing Uploader Plugin for CakePHP 2.x有一个很好的主题,但我想清除一些在线程中不明确的东西(至少对我来说)。

作者页面:http://milesj.me/code/cakephp/uploader

如果您想手动保存(没有行为),是否正确,安装如下:

CakePlugin::load('Uploader'); // THIS GOES INTO THE BOOTSTRAP.PHP FILE PER THE REFERENCED QUESTION ANSWER
App::import('Vendor', 'Uploader.Uploader'); // THIS GOES INTO CONTROLLER PER THE REFERENCED QUESTION ANSWER
$this->Uploader = new Uploader(); // THIS GOES INTO CONTROLLER PER THE REFERENCED QUESTION ANSWER

是吗?

但是,如果你正在使用这种行为,那么你不需要做任何上面的安装,而只是在模型中做:

public $actsAs = array('Uploader.Attachment');

是吗?

文档的第2章是否仅适用于手动使用插件的情况?否则,仅在模型中为每章3配置模型行为。

最后一个问题:如果我理解正确(我仍然是CakePHP的新手),如果我使用该行为自动执行保存,每当我将文件上传到该模型时,它将自动保存文件在正确的文件夹中,我无需做任何事情,并在指向保存位置的$data变量中添加引用?

提前致谢!

1 个答案:

答案 0 :(得分:2)

我很难让这个工作和理解整个插件和行为的事情,所以我认为值得快速分享我在一个关于如何通过模型安装,实现和使用Uploader插件的简短视频中学到的东西行为。

http://www.youtube.com/watch?v=lMNUOz8wqzE

希望你觉得它有用。要回答上面的问题,我基本上只需要:

  1. 在bootstrap.php中包含CakePlugin::load('Uploader'); 可以在App / Config /
  2. 下找到的文件
  3. 根据public $actsAs = array('Uploader.Attachment');调用模型中的行为,但使用相关选项 构造
  4. 然后只需保存到模型,通过我的控制器,在模型中我已经包含$ actsAs变量
  5. 在插件中的附件行为中定义的beforeSave回调函数将负责其余部分。

    上传文件似乎是如此平凡的任务,所以我认为通过一个行为来做这件事是非常合适的,而且我不想根据我自己的初学者水平编写我自己的行为,所以Miles有好处,特别是因为他是一位经验丰富的开发人员。在阅读之后,使用控制器代码上传文件是不可取的,使用专家开发人员插件可能是最佳选择。