2015-07-04 8 views
0

Я не могу получить исходное имя во время загрузки файла.Загрузка файла Symfony2 Получить исходное имя файла

print_r ($ request-> файл) возвращает следующие:

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

Возвраты:

Fatal error: Call to a member function getClientOriginalName() on a non-object in ../path to the controller

Итак, как же я получаю ORIGINALNAME?

ответ

1

Попробуйте использовать метод get() в FileBag, а не доступ к массиву.

Е.Г.,

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

В качестве альтернативы, если это имеет смысл в вашем сценарии, используйте загрузку формы, а затем получить доступ к закачанный файл в качестве данных формы.

+0

Я до сих пор получаю Неустранимая ошибка: вызовите функцию-член getClientOriginalName() для не-объекта в ../path для контроллера. Мне просто нужно получить исходное имя файла перед отправкой формы – kewpe20

+0

@ kewpe20 Перед отправкой формы файл не загружается. Загрузка происходит в форме submit, поэтому до этого нет ничего, чтобы получить имя. –

+0

Если вы можете поместить свой код куда-нибудь для меня, чтобы посмотреть, я увижу, что происходит в вашем конкретном случае. –

Смежные вопросы