public function fileGet(Silex\Application $app) { $request = new \Flow\Request(); $chunkNumber = $request->getCurrentChunkNumber() ?: 0; $chunkSize = $request->getDefaultChunkSize() ?: 0; $totalSize = $request->getTotalSize() ?: 0; $identifier = $request->getIdentifier() ?: ''; $filename = $request->getFileName() ?: ''; if ($this->validateRequest($chunkNumber, $chunkSize, $totalSize, $identifier, $filename) == 'valid') { $chunkFilename = $this->getChunkFilename($chunkNumber, $identifier); if (realpath($chunkFilename) !== false) { utils::log($request->param('REQUEST_METHOD') . 'found'); return new Response('', Response::HTTP_OK, ['Content-Type' => 'text/plain']); } } return new Response('', Response::HTTP_NOT_FOUND, ['Content-Type' => 'text/plain']); }
header("HTTP/1.1 204 No Content"); return ; } } else { if ($file->validateChunk()) { $file->saveChunk(); } else { // error, invalid chunk upload request, retry header("HTTP/1.1 400 Bad Request"); return ; } } if ($file->validateFile()){ $extension = getImgExtension( $request->getFileName() ); $unique_filename = $dbf->createFilename($extension); $filename = $unique_filename . "." . $extension; if($unique_filename && $file->save($destination.$filename)) { if(make_thumb($destination.$filename, $thumbDestination.$filename, 150)){ echo json_encode(['id' => $unique_filename, 'extension' => $extension, 'keywords' => '']); } // File upload was completed } } else { // This is not a final chunk, continue to upload } function make_thumb($src, $dest, $max_diam) { // read the source image