5

Symfony2に複数のファイルをアップロードしようとしています。次のリクエストオブジェクトにアクセスしようとしていますが、parametersプロパティを取得できません。ファイルを1つずつアクセスしてアップロードするにはどうすればよいですか。

私が得るエラー:

致命的なエラー:66行目の/var/www/File/src/Webmuch/FileBundle/Entity/File.phpの保護されたプロパティSymfony \ Component \ HttpFoundation \ FileBag ::$parametersにアクセスできません

リクエストオブジェクト:

Symfony\Component\HttpFoundation\FileBag Object
(
    [parameters:protected] => Array
        (
            [file] => Array
                (
                    [0] => Symfony\Component\HttpFoundation\File\UploadedFile Object
                        (
                            [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
                            [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => FLB1.jpg
                            [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg
                            [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 13584
                            [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
                            [pathName:SplFileInfo:private] => /tmp/phpzdaQgW
                            [fileName:SplFileInfo:private] => phpzdaQgW
                        )

                    [1] => Symfony\Component\HttpFoundation\File\UploadedFile Object
                        (
                            [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
                            [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => FLB2.gif
                            [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/gif
                            [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 5193
                            [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
                            [pathName:SplFileInfo:private] => /tmp/phpNUXho7
                            [fileName:SplFileInfo:private] => phpNUXho7
                        )

                )

        )

)

このオブジェクトアクセスを理解するのを手伝ってください。また、誰かがSymfony2にファイルをアップロードするためのより良い方法を持っている場合。

4

2 に答える 2

5

ファイルにアクセスするには、次のような操作を行います

// retrieves an instance of UploadedFile
$request->files->get('file');
于 2012-08-31T13:13:09.813 に答える
1

宿泊施設に直接アクセスしようとしていると思います。既存のゲッターとセッターを使用する必要があります1

これにより、ファイル名が返されます。

// retrieves an instance of UploadedFile
$file = $request->files->get('file');
$file_name = $file->getClientOriginalName();
于 2015-11-30T16:45:16.993 に答える