diff --git a/src/Symfony/Component/HttpFoundation/FileBag.php b/src/Symfony/Component/HttpFoundation/FileBag.php index b72216a7722a..4baebc8823fc 100644 --- a/src/Symfony/Component/HttpFoundation/FileBag.php +++ b/src/Symfony/Component/HttpFoundation/FileBag.php @@ -39,7 +39,7 @@ public function replace(array $files = array()) */ public function set($key, $value) { - if (is_array($value)) { + if (is_array($value) || $value instanceof UploadedFile) { parent::set($key, $this->convertFileInformation($value)); } } @@ -58,12 +58,15 @@ public function add(array $files = array()) /** * Converts uploaded files to UploadedFile instances. * - * @param array $file A (multi-dimensional) array of uploaded file information + * @param array|UploadedFile $file A (multi-dimensional) array of uploaded file information * * @return array A (multi-dimensional) array of UploadedFile instances */ - protected function convertFileInformation(array $file) + protected function convertFileInformation($file) { + if ($file instanceof UploadedFile) { + return $file; + } $file = $this->fixPhpFilesArray($file); if (is_array($file)) { $keys = array_keys($file);