<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
use Symfony\Component\Routing\Annotation\Route;
use Doctrine\Persistence\ManagerRegistry;
use App\Entity\Media;
class AvatarAction extends AbstractController
{
#[Route('/api/avatar/{id}', name: 'api_media_avatar', methods: ['GET'])]
public function raw(ManagerRegistry $doctrine, string $id): Response
{
$media = $doctrine
->getRepository(Media::class)
->find($id)
;
if (!$media || $media->getGenre() !== 'avatar') {
return new Response('', Response::HTTP_NOT_FOUND);
}
// return $this->file(__DIR__ . '/../../public/medias/' . $media->getFilePath());
return $this->file(
__DIR__ . '/../../public/medias/' . $media->getFilePath(),
$media->getName(),
ResponseHeaderBag::DISPOSITION_INLINE
);
}
}