1

我在获取由oneupuploaderbundle 上传的文件的原始名称时遇到问题

如果我使用

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

(请参阅这篇文章获取上传文件的原始名称)我有这个错误:

FatalErrorException:错误:无法使用 Symfony\Component\HttpFoundation\FileBag 类型的对象作为 /home/.../UploadListener.php 第 17 行中的数组

但我认为是正确的,请参阅 var_dump :

$request = $event->getRequest();
var_dump($request->files);

给 :

object(Symfony\Component\HttpFoundation\FileBag)#11 (1) {
  ["parameters":protected]=>
  array(1) {
    ["file"]=>
    array(1) {
      [0]=>
      object(Symfony\Component\HttpFoundation\File\UploadedFile)#12 (7) {
        ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        bool(false)
        ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(22) "silk_icons_preview.png"
        ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        string(9) "image/png"
        ["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        int(116463)
        ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
        int(0)
        ["pathName":"SplFileInfo":private]=>
        string(14) "/tmp/php3GUXwQ"
        ["fileName":"SplFileInfo":private]=>
        string(9) "php3GUXwQ"
      }
    }
  }
}

谢谢 !

4

2 回答 2

2

你必须这样做:

$this->getRequest()->files->get('file')->getClientOriginalName();

'file'值是文件输入的名称。

于 2015-05-05T16:04:22.757 回答
0

我的功能:

 public function onUpload(PostPersistEvent $event) {
      $test = $event->getRequest()->files->get('upload')->getClientOriginalName();
      var_dump($test);
    }

我的表格:

<form action="{{ oneup_uploader_endpoint('gallery') }}" class="dropzone" name="upload" type="file" method="post" id="doc"></form>

做 :

FatalErrorException:错误:在 /home/www/.../UploadListener.php 第 19 行中的非对象上调用成员函数 getClientOriginalName()

于 2015-05-06T07:45:59.983 回答