Symfony 获取上传的文件';原名

Symfony 获取上传的文件';原名,symfony,Symfony,给我 $request = $event->getRequest(); print_r($request->files);die; 我试图在不使用循环的情况下获取'originalname'的值,即“jummery.jpg”,但似乎找不到正确的语法 使用1UP文件上传器,但我认为这并不重要,上传文件时会得到UploadFile()对象(基本上是数组的包装器) 现在无法尝试此操作,但您可能需要改为: $this->getRequest()->files[0]->ge

给我

$request = $event->getRequest();
print_r($request->files);die;
我试图在不使用循环的情况下获取'originalname'的值,即“jummery.jpg”,但似乎找不到正确的语法


使用1UP文件上传器,但我认为这并不重要,上传文件时会得到
UploadFile
()对象(基本上是数组的包装器)

现在无法尝试此操作,但您可能需要改为:

$this->getRequest()->files[0]->getClientOriginalName();

在这里,您可以用表单字段的名称替换post中的
文件名\u字段名。

这对我来说很有用,我想OneUp类的处理方式有点不同

$this->getRequest()->files['name_of_file_field_in_post']->getClientOriginalName();
相关前端

use Oneup\UploaderBundle\Event\PostPersistEvent;
class UploadListener
{
     public function onUpload(PostPersistEvent $event)
    {

        $request = $event->getRequest();
        $original_filename = $request->files->get('blueimp')->getClientOriginalName();
     }
}

2015年更新:

<input id="fileupload" type="file" name="blueimp" data-url="{{ oneup_uploader_endpoint('images') }}" multiple />
你的文件名
对我来说只是
文件

这可能也会有所帮助: 我使用的是symfony 4

我想得到文件的原始名称。对我起作用的是:

$request->files->get('your-file-name')->getClientOriginalName();

在我的例子中,getImage()是文件上载字段名称的getter。因此,这将更改为文件上载字段的相关getter函数。

感谢tjhe的响应,我收到了以下错误FatalErrorException:错误:无法在/pathtofile/MediaBundle/EventListener/UploadListener.php第41行中使用Symfony\Component\HttpFoundation\FileBag类型的对象作为数组输入的名称是“files[]”也许这对某些人有帮助:文件不是数组,而是参数包(在本例中是文件包)。必须对其进行迭代,如
foreach($request->files as$file)
然后您可以当场执行
getClientOriginalName()
。谢谢你,伙计。(y)
$request->files->get('your-file-name')->getClientOriginalName();
$form = $this->createForm(SomeType::class, $object);

if($form->isSubmitted() && $form->isValid()) {

    $fileName = $object->getImage()->getClientOriginalName();

}