Sulu\Bundle\MediaBundle\Controller\MediaStreamController::getFileResponse PHP Method

getFileResponse() protected method

protected getFileResponse ( FileVersion $fileVersion, string $locale, string $dispositionType = ResponseHeaderBag::DISPOSITION_ATTACHMENT ) : BinaryFileResponse
$fileVersion Sulu\Bundle\MediaBundle\Entity\FileVersion
$locale string
$dispositionType string
return Symfony\Component\HttpFoundation\BinaryFileResponse
    protected function getFileResponse($fileVersion, $locale, $dispositionType = ResponseHeaderBag::DISPOSITION_ATTACHMENT)
    {
        $cleaner = $this->get('sulu.content.path_cleaner');
        $fileName = $fileVersion->getName();
        $fileSize = $fileVersion->getSize();
        $storageOptions = $fileVersion->getStorageOptions();
        $mimeType = $fileVersion->getMimeType();
        $version = $fileVersion->getVersion();
        $path = $this->getStorage()->load($fileName, $version, $storageOptions);
        $response = new BinaryFileResponse($path);
        $pathInfo = pathinfo($fileName);
        // Prepare headers
        $disposition = $response->headers->makeDisposition($dispositionType, $fileName, $cleaner->cleanup($pathInfo['filename'], $locale) . '.' . $pathInfo['extension']);
        // Set headers
        $response->headers->set('Content-Type', !empty($mimeType) ? $mimeType : 'application/octet-stream');
        $response->headers->set('Content-Disposition', $disposition);
        $response->headers->set('Content-length', $fileSize);
        return $response;
    }