Symfony2:JFSF上传包文件输入NULL

时间:2012-12-27 09:45:11

标签: file-upload symfony bundle

我按照JFSF tutorial安装JFSF上传包。 一步一步,我做到了,没有错误。

但是当我尝试在现有的包中做同样的事情时,我的表单由于某种原因无法验证,我的文件输入总是 NULL

可能 services.yml 存在错误,其中参数配置绑定实体。如果你想要特定的代码,请问我,但唯一的区别(理论上)只是实体名称,包名称。

此捆绑包对于处理上载过程非常有用。 有人已经尝试过吗?

如果我在isValid()方法之前在我的控制器中的createAction()中var_dump我的实体(我使用控制台生成的crud表单):

object(Toto\GestionSiteBundle\Entity\People)#368 (4) 
{ 
    ["filePhoto"]=> object(Symfony\Component\HttpFoundation\File\UploadedFile)#12 (7) 
    { 
        ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> bool(false) 
        ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> string(7) "95.jpeg" 
        ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> string(10) "image/jpeg" 
        ["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> int(73987) 
        ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> int(0) 
        ["pathName":"SplFileInfo":private]=> string(36) "/Applications/MAMP/tmp/php/phpKH4PQo" 
        ["fileName":"SplFileInfo":private]=> string(9) "phpKH4PQo" 
    } 
    ["id":"Toto\GestionSiteBundle\Entity\People":private]=> NULL 
    ["nom":"Toto\GestionSiteBundle\Entity\People":private]=> string(4) "cleo" 
    ["photo":"Toto\GestionSiteBundle\Entity\People":private]=> NULL 
}

浏览器给我一个例外:

An exception occurred while executing 'INSERT INTO People (nom, photo) VALUES (?, ?)' with params {"1":"cleo","2":null}:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'photo' cannot be null

1 个答案:

答案 0 :(得分:0)

经过几个小时没有结果,

我放弃了这个捆绑包,然后尝试 VichUploaderBundle 。 在5分钟内,我可以上传我的第一张图片。

这个捆绑听起来不错!