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 に答える