Symfony2文件上传获取原始文件名

时间:2015-07-04 00:27:23

标签: php symfony

我无法在文件上传期间检索originalName。

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();

返回:

  

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

那么,我如何获得OriginalName?

1 个答案:

答案 0 :(得分:2)

尝试在FileBag上使用get()方法,而不是数组访问。

如,

$this->getRequest()->files->get("backgroundImageFile")->getClientOriginalName();

或者,如果在您的方案中有意义,请使用表单上传,然后以表单数据的形式访问上传的文件。