/** * Zpracování uploadu souboru. */ public function handleUpload() { $files = $this->request->getFiles(); $token = $this->request->getPost("token"); /** @var \Nette\Http\FileUpload $file */ $file = $files[$this->uploadControl->getHtmlName()]; $model = $this->uploadControl->getUploadModel(); $cache = $this->uploadControl->getCache(); $filter = $this->getFilter(); try { if (!is_null($filter) && !$filter->checkType($file)) { throw new \Zet\FileUpload\InvalidFileException($this->getFilter()->getAllowedTypes()); } if ($file->isOk()) { $returnData = $model->save($file); $cacheFiles = $cache->load($this->uploadControl->getTokenizedCacheName($token)); if (empty($cacheFiles)) { $cacheFiles = array($this->request->getPost("id") => $returnData); } else { $cacheFiles[$this->request->getPost("id")] = $returnData; } $cache->save($this->uploadControl->getTokenizedCacheName($token), $cacheFiles); } } catch (\Zet\FileUpload\InvalidFileException $e) { $this->presenter->sendResponse(new \Nette\Application\Responses\JsonResponse(array("id" => $this->request->getPost("id"), "error" => 100, "errorMessage" => $e->getMessage()))); } catch (\Exception $e) { $this->presenter->sendResponse(new \Nette\Application\Responses\JsonResponse(array("id" => $this->request->getPost("id"), "error" => 99, "errorMessage" => $e->getMessage()))); } $this->presenter->sendResponse(new \Nette\Application\Responses\JsonResponse(array("id" => $this->request->getPost("id"), "error" => $file->getError()))); }
/** * @param NULL|string $dir * @return SplFileInfo[] */ public function filesToDir($dir = NULL) { $uploadedFiles = []; $this->onQueueBegin($this->httpRequest->getFiles()); foreach ($this->httpRequest->getFiles() as $file) { if (is_array($file)) { foreach ($file as $f) { try { $uploadedFiles[] = $this->singleFileToDir($f, $dir); } catch (UploadErrorException $e) { $this->onError($f, $e); } } } else { try { $uploadedFiles[] = $this->singleFileToDir($file, $dir); } catch (UploadErrorException $e) { $this->onError($file, $e); } } } $this->onQueueComplete($this->httpRequest->getFiles(), $uploadedFiles); return $uploadedFiles; }
public function getFiles() { return $this->request->getFiles(); }
/** * Creates Nette Application request * @return \Nette\Application\Request */ public function createApplicationRequest() { list($presenter, $action) = $this->getDestination(); $data = $this->getData($presenter . ':' . $action); return new \Nette\Application\Request($this->module . ":" . $presenter, $this->httpRequest->getMethod(), array_merge(['action' => $action], $data), $this->httpRequest->getPost(), $this->httpRequest->getFiles(), array(\Nette\Application\Request::SECURED => $this->httpRequest->isSecured())); }