CakePHP Uploader插件只能在一个模型上工作
我已经用我的一个型号安装并安装了它,它工作得很好。非常好 然后我用几乎相同的代码在另一个模型上进行了设置[唯一的区别是上传路径],但在第二个模型上不起作用。当我提交表单时,插件似乎没有注意到;我在试图将POST文件数组直接插入数据库时遇到了一个SQL错误 这是代码。[除此之外,插件在引导中导入]CakePHP Uploader插件只能在一个模型上工作,cakephp,uploader,Cakephp,Uploader,我已经用我的一个型号安装并安装了它,它工作得很好。非常好 然后我用几乎相同的代码在另一个模型上进行了设置[唯一的区别是上传路径],但在第二个模型上不起作用。当我提交表单时,插件似乎没有注意到;我在试图将POST文件数组直接插入数据库时遇到了一个SQL错误 这是代码。[除此之外,插件在引导中导入] public $actsAs = array( 'Uploader.Attachment' => array( 'photo' => array(
public $actsAs = array(
'Uploader.Attachment' => array(
'photo' => array(
'name' => 'formatFileName',
'uploadDir' => '/uploads/uses/img/',
'dbColumn' => 'photo',
'maxNameLength' => 30,
'overwrite' => true,
'stopSave' => true,
'allowEmpty' => false,
'transforms' => array(
array('method' => 'resize', 'width' => 240, 'dbColumn' => 'photo_thumb'))
)
),
'Uploader.FileValidation' => array(
'fileName' => array(
'extension' => array('gif', 'jpg', 'png', 'jpeg'),
'required' => true
)
)
);
这是在没有上传的模型上,唯一的区别是uploadDir
插件是否只在一个模型上工作?有什么线索吗?thnx:}
编辑以获得更清晰的效果 以下是我的查看代码:
echo $this->Form->create('Use', array('type' => 'file'));
echo $this->Form->input('Use.photo', array('type' => 'file'));
echo $this->Form->input('Use.desc', array('rows' => '3', 'label' => 'Description'));
echo $this->Form->end('Add to Gallery');
这是我的控制器代码:
public function add() {
if ($this->request->is('post')) {
$this->Use->set('user_id', $this->Auth->user('id'));
if ($this->Use->save($this->request->data)) {
$this->Session->setFlash('Your Use has been saved.');
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash('Unable to add your Use.');
}
}
}
该插件不能只在一个模型中工作。你可以添加更多的上传到你的网站。 模型看起来不错,我建议您查看表单,看看是否以正确的方式在视图中创建了表单(重要的是要放入表单中:
'type'=>'file'
例如:
或者问题是名称
使用
在与Alessandro[thank you:)]检查代码后,尝试用另一个名称更改名称
如果查看视图和控制器代码,可以看到模型名为“Use”。这就是问题所在,因为Use在PHP中是一个加载的单词,我不应该将它用作模型名
我将模型重命名为Output,现在上传程序工作正常。可能是控制器代码的问题。我为两个模型编写的控制器代码完全相同[撇开模型名obvs],因为插件应该[据我所知]挂接到$this->model->save(),只是仔细检查了一下,表单代码是正确的<代码>echo$this->Form->create('Use',array('type'=>file');echo$this->Form->input('Use.photo',array('type'=>file');echo$this->Form->input('Use.desc',array('rows'=>'3','label'=>'Description'));echo$this->Form->end('addtogallery')你认为我的型号名称[使用]会引起问题吗?是的,对我来说这是个谜。如果你看到我编辑了我的问题,也添加了控制器代码。$this->Form->end()自动创建提交。与我的工作上传表单相同。哪种类型的数据库中有“photo”列?让我们嘿,我也使用这个插件。。我可以在数据库中存储映像名称,但在目标目录中找不到映像。。它也没有显示任何错误。。有什么想法吗?抱歉@GirishGowda,但不久之后我就停止使用CakePHP了,所以我帮不了什么忙。嘿,没关系,我发现了。。无论如何,谢谢你的回复
echo $this->Form->create('Product', array ('class' => 'form', 'type' => 'file'));
echo $this->Form->input('ModelImage.filename', array('type' => 'file'));
echo $this->Form->submit('Add Image', array('id'=>'add_image'));
echo $this->Form->end();