getUploadedFiles(); //grab uploaded files $options = $request->getParsedBody(); $file = $upload['upload_files'][0]; //front end sends one by one for progress tracking, so grab first $type = $file->getClientMediaType(); $filesPath = ''; $path = date('Y') . '/' . date('m'); $response = []; switch ($type) { case 'image/jpeg': case 'image/png': case 'image/gif': case 'image/svg': if (isset($options["source"])) { if ($options["source"] == "avatar-upload") { $filesPath = '/assets/images/user/' . $path . '/'; Member::updateData( 'avi', $filesPath . $file->getClientFileName() ); } else { $filesPath = '/assets/images/user/' . $path . '/'; Settings::updateGlobalData( 'background', $filesPath . '/' . $file->getClientFileName() ); } } else { $filesPath = '/assets/images/blog/' . $path . '/'; } break; case 'video/mp4': $filesPath = '/assets/video/blog/' . $path . '/'; break; case 'audio/mpeg': $filesPath = '/assets/sound/blog/' . $path . '/'; break; case 'application/pdf': case 'text/plain': case 'text/rtf': $filesPath = '/assets/docs/blog/' . $path . '/'; break; } FileUploader::uploadFile('../public' . $filesPath, $file); $response = [ 'message' => "File Uploaded. Great!", "filePath" => $filesPath . urlencode($file->getClientFileName()), "fileName" => urlencode($file->getClientFileName()), 'type' => $type, ]; return $response; } }