File upload Symfony文件上传-“下载”;数组";存储在数据库中,而不是实际的文件名
我正在使用Symfony 1.4.4和Doctrine,我需要在服务器上上传一个图像 我已经这样做了数百次,没有任何问题,但这次发生了一些奇怪的事情:不是文件名存储在数据库中,而是字符串“Array” 以下是我正在做的: 以我的名义:File upload Symfony文件上传-“下载”;数组";存储在数据库中,而不是实际的文件名,file-upload,symfony1,doctrine,symfony-1.4,File Upload,Symfony1,Doctrine,Symfony 1.4,我正在使用Symfony 1.4.4和Doctrine,我需要在服务器上上传一个图像 我已经这样做了数百次,没有任何问题,但这次发生了一些奇怪的事情:不是文件名存储在数据库中,而是字符串“Array” 以下是我正在做的: 以我的名义: $this->useFields(array('filename')); $this->embedI18n(sfConfig::get('app_cultures')); $this->widgetSchema['filename'] = ne
$this->useFields(array('filename'));
$this->embedI18n(sfConfig::get('app_cultures'));
$this->widgetSchema['filename'] = new sfWidgetFormInputFileEditable(array(
'file_src' => '/uploads/flash/'.$this->getObject()->getFilename(),
'is_image' => true,
'edit_mode' => !$this->isNew(),
'template' => '<div id="">%file%</div><div id=""><h3 class="">change picture</h3>%input%</div>',
));
$this->setValidator['filename'] = new sfValidatorFile(array(
'mime_types' => 'web_images',
'path' => sfConfig::get('sf_upload_dir').'/flash',
));
在绑定我的参数之前,一切正常,$request->getFiles($form->getName())
返回我的文件。
但是之后,$form->getValue('filename')
返回字符串“Array”
你们中有人遇到过这种情况吗?或者你们看到我的代码有什么问题吗
编辑:我添加了一个事实,我正在嵌入另一个表单,这可能是问题所在(请参阅上面的表单代码)。好的,我知道了。我没有正确地声明我的验证器 我应该做的是:
$this->setValidator('filename', new sfValidatorFile(array(
'mime_types' => 'web_images',
'path' => sfConfig::get('sf_upload_dir').'/flash',
)));
愚蠢的错误,我希望能帮助那些有同样问题的人。或者你可以使用
$this->validatorSchema['filename']
代替
$this->setValidator['filename']
谢谢,这非常有帮助…因为我遇到了相同的问题,并且在使用您的版本时得到了修复…:D:P在使用
validatorSchema
时,我遇到了问题…当我使用上述答案版本时,问题得到了解决。。!
$this->setValidator['filename']