/** * Upload file. * * @param \Symfony\Component\HttpFoundation\File\UploadedFile $file * @return array */ protected function upload($file) { $this->fire('upload.before', $event = new Event($file)); if ($event->aborted()) { return $this->fileToArray($file, $event->getError($this->uploader->getErrorMessage('abort')), $event->getData()); } try { $file = $this->uploader->upload($file, $event->getFilename()); } catch (UploadException $e) { $event = new Event($file); $event->setError($e->getMessage()); $this->fire('upload.fail', $event); $error = $event->getError($e->getMessage()); } if ($file instanceof File) { $this->fire('upload.success', $event = new Event($file)); if ($event->aborted()) { $this->uploader->delete($file->getFilename()); $error = $event->getError($this->uploader->getErrorMessage('abort')); } } return $this->fileToArray($file, @$error, $event->getData()); }