Php Symfony2文件上载获取原始文件名

Php Symfony2文件上载获取原始文件名,php,symfony,Php,Symfony,我无法在文件上载期间检索原始名称 print\r($request->file)返回以下内容: Symfony\Component\HttpFoundation\FileBag Object ( [parameters:protected] => Array ( [form_name] => Array ( [backgroundImageFile] => S

我无法在文件上载期间检索原始名称

print\r($request->file)返回以下内容:

Symfony\Component\HttpFoundation\FileBag Object
(
    [parameters:protected] => Array
        (
            [form_name] => Array
                (
                    [backgroundImageFile] => Symfony\Component\HttpFoundation\File\UploadedFile Object
                        (
                            [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
                            [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => bg_image.jpg
                            [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg
                            [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 65045
                            [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
                            [pathName:SplFileInfo:private] => /tmp/phpsU3X7a
                            [fileName:SplFileInfo:private] => phpsU3X7a
                        )

                )

        )

)


echo "<br /> Name= ".$this->getRequest()->files['backgroundImageFile']->getClientOriginalName();
Symfony\Component\HttpFoundation\FileBag对象
(
[参数:受保护]=>阵列
(
[表单名称]=>数组
(
[backgroundImageFile]=>Symfony\Component\HttpFoundation\File\UploadedFile对象
(
[测试:Symfony\Component\HttpFoundation\File\UploadedFile:private]=>
[原始名称:Symfony\Component\HttpFoundation\File\UploadedFile:private]=>bg_image.jpg
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private]=>image/jpeg
[大小:Symfony\Component\HttpFoundation\File\UploadedFile:private]=>65045
[错误:Symfony\Component\HttpFoundation\File\UploadedFile:private]=>0
[路径名:SplFileInfo:private]=>/tmp/phpsU3X7a
[文件名:SplFileInfo:private]=>phpsU3X7a
)
)
)
)
echo“
Name=“.this->getRequest()->文件['backgroundImageFile']->getClientOriginalName();
返回:

致命错误:在上调用成员函数getClientOriginalName() 控制器的../path中的非对象

那么,如何获取原始名称呢?

尝试对文件包使用get()方法,而不是数组访问

例如:


或者,如果在您的场景中有意义,请使用表单上载,然后作为表单数据访问上载的文件。

我仍然会遇到致命错误:在控制器的../path中的非对象上调用成员函数getClientOriginalName()。我只需要在创建表单之前获取原始文件名submitted@kewpe20在提交表单之前,不会上载文件。上传是在表单提交时进行的,所以在此之前没有什么可以知道的。如果你能把你的代码放到某个地方让我看一下,我会看看你的具体实例中发生了什么。
$this->getRequest()->files->get("backgroundImageFile")->getClientOriginalName();