0

我按照JFSF 教程安装 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
4

1 回答 1

0

数小时无果后,

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

这个捆绑听起来不错!

于 2012-12-28T08:21:56.900 回答