main/core/Controller/FileController.php
private function stream(ResourceNode $resourceNode)
    {
        //temporary because otherwise injected resource must have the "open" right
        $this->checkPermission('OPEN', $resourceNode, [], true);

        // free the session as soon as possible
        // see https://github.com/claroline/CoreBundle/commit/7cee6de85bbc9448f86eb98af2abb1cb072c7b6b
        $this->session->save();

        /** @var File $file */
        $file = $this->resourceManager->getResourceFromNode($resourceNode);
        $path = $this->fileDir.DIRECTORY_SEPARATOR.$file->getHashName();

        if (!file_exists($path)) {
            return new JsonResponse(['File not found'], 500);
        }

        $response = new BinaryFileResponse($path);
        $response->headers->set('Content-Type', $resourceNode->getMimeType());

        return $response;
    }
private function stream(ResourceNode $resourceNode)
    {
        //temporary because otherwise injected resource must have the "open" right
        $this->checkPermission('OPEN', $resourceNode, [], true);

        // free the session as soon as possible
        // see https://github.com/claroline/CoreBundle/commit/7cee6de85bbc9448f86eb98af2abb1cb072c7b6b
        $this->session->save();

        /** @var File $file */
        $file = $this->resourceManager->getResourceFromNode($resourceNode);
        $path = $this->fileDir.DIRECTORY_SEPARATOR.$file->getHashName();

        if (!file_exists($path)) {
            return new JsonResponse(['File not found'], 500);
        }

        $response = new BinaryFileResponse($path);
        $response->headers->set('Content-Type', $resourceNode->getMimeType());

        return $response;
    }
private function stream ( ResourceNode $ resourceNode ) { //temporary because otherwise injected resource must have the "open" right $ this -> checkPermission ( 'OPEN' , $ resourceNode , [ ] , true ) ; // free the session as soon as possible // see https://github.com/claroline/CoreBundle/commit/7cee6de85bbc9448f86eb98af2abb1cb072c7b6b $ this -> session -> save ( ) ; /** @var File $file */ $ file = $ this -> resourceManager -> getResourceFromNode ( $ resourceNode ) ; $ path = $ this -> fileDir . DIRECTORY_SEPARATOR . $ file -> getHashName ( ) ; if ( ! file_exists ( $ path ) ) { return new JsonResponse ( [ 'File not found' ] , 500 ) ; } $ response = new BinaryFileResponse ( $ path ) ; $ response -> headers -> set ( 'Content-Type' , $ resourceNode -> getMimeType ( ) ) ; return $ response ; }
Streams a resource file to the user browser.

@param ResourceNode $resourceNode

@return BinaryFileResponse
Streams a resource file to the user browser .