/** * @param $parameters Parameters * @param $form array * @param $files array * @return mixed */ public function run(Parameters $parameters, $form, $files) { /** @var $session_files Files */ $raw_parameters = $parameters->getRawParameters(); $file_key = reset($raw_parameters); $session_files = Session::current()->get(Files::class); // numeric (session files index) file key if (isset($session_files->files[$file_key])) { $file = $session_files->files[$file_key]; } else { foreach ($session_files->files as $file) { if ($file->name === $file_key) { break; } } } // output if (isset($file)) { header('Content-Type: ' . $file->getType()); if (isset($raw_parameters['size'])) { $image = Image::createFromString($file->content); $image->resize($raw_parameters['size'], $raw_parameters['size'])->display(); } else { echo $file->content; } } }