我正在使用Cake 2.1应用程序设置Media Plugin。我之前使用过带有Cake 2.0的插件,并且没有任何问题。现在,当我尝试上传文件时,我收到此错误消息:
Fatal error: Call to a member function pwd() on a non-object in /home/fractalw/public_html/cms/app/Plugin/Media/Model/Behavior/CouplerBehavior.php on line 141
这是我的bootstrap.php文件的相关部分: CakePlugin ::负载( '媒体');
require APP . 'Plugin' . DS . 'Media' . DS . 'Config' . DS . 'core.php';
$thumbnail = array('fitCrop' => array(100, 100));
$small = array('fitCrop' => array(200, 200));
$large = array('fit' => array(700, 10000));
$smallthumbnail = array('fitCrop' => array(75, 75));
$tinythumbnail = array('fitCrop' => array(35, 35));
Configure::write('Media.filter', array('default' => array(
'audio' => array(),
'document' => array(),
'generic' => array(),
'image' => compact('small', 'thumbnail', 'smallthumbnail', 'large', 'tinythumbnail'),
'video' => compact('medium', 'large')
)));
......我的模特,File.php:
public $actsAs = array(
'Media.Transfer',
'Media.Coupler',
'Media.Generator',
'Media.GeneratedDeletable',
'Media.Meta',
'Containable'
);
public $validate = array(
'file' => array(
'mimeType' => array(
'rule' => array('checkMimeType', false, array('image/jpeg', 'image/png', 'image/gif'))
)
)
);
当我提交上传文件的表单时,我收到上面的错误消息。 CouplerBehavior.php中有问题的行是:
str_replace('\\', '/', Folder::slashTerm($File->Folder->pwd()))
答案 0 :(得分:1)
好的,我做得很傻。
我已经命名了我的模型文件。这显然是CakePHP中File类的名称。上传文件后,媒体插件将其转换为新的File对象,如在Model中。我已经重命名了我的模型附件。为什么会发生这种情况 - 你花了很多时间考虑问题,然后一旦你在互联网上发布问题,你就会找到答案......