* 2. Copy this file and handler.php to your server. * * 3. Ensure your php.ini file contains appropriate values for * max_input_time, upload_max_filesize and post_max_size. * * 4. Ensure your "chunks" and "files" folders exist and are writable. * "chunks" is only needed if you have enabled the chunking feature client-side. */ // Include the upload handler class require "handler.php"; $uploader = new UploadHandler(); // Specify the list of valid extensions, ex. array("jpeg", "xml", "bmp") $uploader->allowedExtensions = array(); // all files types allowed by default // Specify max file size in bytes. $uploader->sizeLimit = 10 * 1024 * 1024; // default is 10 MiB // Specify the input name set in the javascript. $uploader->inputName = "qqfile"; // matches Fine Uploader's default inputName value by default // If you want to use the chunking/resume feature, specify the folder to temporarily save parts. $uploader->chunksFolder = "chunks"; $method = $_SERVER["REQUEST_METHOD"]; if ($method == "POST") { header("Content-Type: text/plain"); // Call handleUpload() with the name of the folder, relative to PHP's getcwd() $result = $uploader->handleDelete("files"); echo json_encode($result); } else { header("HTTP/1.0 405 Method Not Allowed"); }
public function handleUploadReciever() { //ob_start(); $uploader = new \UploadHandler(); $uploader->allowedExtensions = ["jpeg", "jpg", "png", "gif"]; $uploader->chunksFolder = __DIR__ . '/../../www/chunks'; $name = Nette\Utils\Strings::webalize($uploader->getName(), '.'); //TODO: picture optimalization (?) $result = $uploader->handleUpload(__DIR__ . '/../../../www/uploads', $name); try { $picture = $this->pictures->findOneBy(['uuid' => $uploader->getUuid()]); if (!$picture) { //FIXME: toto není optimální (zejména kvůli rychlosti) $picture = new Entity\Picture(); } $picture->uuid = $uploader->getUuid(); $picture->name = $name; $picture->created = new \DateTime('now'); $this->pictures->save($picture); } catch (\Exception $exc) { $uploader->handleDelete(__DIR__ . '/../../www/uploads'); $this->sendResponse(new Nette\Application\Responses\JsonResponse(['error' => $exc->getMessage()])); } //TODO: napřed předat do šablony nová data $this->redrawControl('pictures'); $this->sendResponse(new Nette\Application\Responses\JsonResponse($result)); }