protected function download()
{
$path = $this->param('path', false);
$file = $this->root . '/' . trim($path, '/');
if (!$path && !file_exists($file)) {
$this->app->stop();
}
$pathinfo = $path_parts = pathinfo($file);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false);
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"" . $pathinfo["basename"] . "\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($file));
readfile($file);
$this->app->stop();
}