public function staticFile(Request $request, Application $app)
{
$fileParam = str_replace('..', '', $request->get('file'));
$file = __DIR__ . '/../static/' . $fileParam;
if (!$fileParam || !file_exists($file)) {
return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.resourceNotFound'));
}
$mimeTypes = new MimeTypes();
$mimeType = $mimeTypes->getMimeType($file);
$size = filesize($file);
$streamedFileResponse = new StreamedFileResponse();
$response = new StreamedResponse($streamedFileResponse->getStreamedFileFunction($file), 200, ['Content-Type' => $mimeType, 'Content-Disposition' => 'attachment; filename="' . basename($file) . '"', 'Content-length' => $size]);
$response->setETag(filemtime($file))->setPublic()->isNotModified($request);
$response->send();
return $response;
}