src/Controller/AvatarAction.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\HttpFoundation\ResponseHeaderBag;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Doctrine\Persistence\ManagerRegistry;
  8. use App\Entity\Media;
  9. class AvatarAction extends AbstractController
  10. {
  11.     #[Route('/api/avatar/{id}'name'api_media_avatar'methods: ['GET'])]
  12.     public function raw(ManagerRegistry $doctrinestring $id): Response
  13.     {
  14.         $media $doctrine
  15.             ->getRepository(Media::class)
  16.             ->find($id)
  17.         ;
  18.         if (!$media || $media->getGenre() !== 'avatar') {
  19.             return new Response(''Response::HTTP_NOT_FOUND);
  20.         }
  21.         // return $this->file(__DIR__ . '/../../public/medias/' . $media->getFilePath());
  22.         return $this->file(
  23.             __DIR__ '/../../public/medias/' $media->getFilePath(), 
  24.             $media->getName(), 
  25.             ResponseHeaderBag::DISPOSITION_INLINE
  26.         );
  27.     }
  28. }