获取上载文件的原始名称

jri*_*ggs 13 symfony

$request = $event->getRequest();
print_r($request->files);die;
Run Code Online (Sandbox Code Playgroud)

给我

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

                )

        )

)
Run Code Online (Sandbox Code Playgroud)

我试图获得'originalname'的值,即"Chrysanthemum.jpg",而不是诉诸循环,但我似乎无法找到正确的语法

使用1UP文件上传器,但我认为这不重要

Jov*_*vic 15

当你上传文件时,你得到UploadFile(API链接)对象(基本上是数组的包装).

$this->getRequest()->files[0]->getClientOriginalName();
Run Code Online (Sandbox Code Playgroud)

现在无法尝试,但您可能需要这样做:

$this->getRequest()->files['name_of_file_field_in_post']->getClientOriginalName();
Run Code Online (Sandbox Code Playgroud)

您将name_of_file_field_in_post用表单字段的名称替换的位置.


tim*_*c22 13

2015年更新:

$request->files->get('your-file-name')->getClientOriginalName();
Run Code Online (Sandbox Code Playgroud)

your-file-name对我来说只是file.

这可能也会有所帮助:https: //github.com/1up-lab/OneupUploaderBundle/issues/21


jri*_*ggs 5

这对我来说很有用,我想OneUp Class处理起来有点不同

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

        $request = $event->getRequest();
        $original_filename = $request->files->get('blueimp')->getClientOriginalName();
     }
}
Run Code Online (Sandbox Code Playgroud)

相关前端

<input id="fileupload" type="file" name="blueimp" data-url="{{ oneup_uploader_endpoint('images') }}" multiple />
Run Code Online (Sandbox Code Playgroud)