/**
* Download dataset.
*
* @param Request $request
* @return Response
*/
public function downloadAction(Request $request)
{
$manager = $this->get("accard.outcomes.manager");
$givenFilename = $request->get("file");
$filename = $manager->generateExportFilePath($givenFilename);
if (!$givenFilename || !file_exists($filename) || !is_readable($filename)) {
throw $this->createNotFoundException("Requested file is invalid, you may only download a file one time before it is deleted.");
}
$response = new BinaryFileResponse($filename);
$response->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, $givenFilename);
$response->deleteFileAfterSend(true);
return $response;
}