<?php
namespace App\Controller\Frontend;
use App\Entity\Media;
use App\Entity\MediaCategorie;
use App\Entity\Sejour;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Vich\UploaderBundle\Templating\Helper\UploaderHelper;
class MediaServerController extends AbstractController
{
#[Route('/media/{id}/{type}', name: 'app_media_server')]
public function index(string $type, int $id, EntityManagerInterface $em, UploaderHelper $helper): Response
{
$sejour = $em->getRepository(Sejour::class)->findOneById($id);
switch($type){
case 'fiche_sejour':
$mediaCategorie = $em->getRepository(MediaCategorie::class)->findOneByName('Fiche Séjour');
}
$media = $em->getRepository(Media::class)->findOneBy([
'sejour' => $sejour,
'mediaCategorie' => $mediaCategorie
]);
$path = $helper->asset($media);
return new BinaryFileResponse($path);
return $downloadHandler->downloadObject($media,'frontend_image');
}
}