[RESOLU] Symfony no-cache pour certaines routes

Petit nouveau ! | 2 Messages

30 mars 2023, 12:13

Bonjour,

Je cherche à supprimer le cache sur l'affichage des images dans un back-office. C'est à dire que j'ai un formulaire ou je peux uploader des photos et ensuite je peux les redimensionner. Quand je redimensionne et que je retourne sur mon formulaire, les photos sont toujours à la taille de départ, pareil si je redimensionne une image déjà redimensionné, celle-ci s'affiche sans les modifications. Si je fais un CTRL+F5 les images se mettent à jour mais comment automatiser tout ceci ?

J'ai essayé de travailler avec le $response->headers->set(AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER, 'true');

également avec #[Cache(maxage: 0, mustRevalidate: true, noCache: true, noStore: true)]

et aussi des :

$response->expire();
$response->setCache([
'must_revalidate' => true,
'no_cache' => true,
'no_store' => true,
'max_age' => 0,
's_maxage' => 0
]);

Mais rien n'y fait :/ avez-vous une idée ?

Merci

Petit nouveau ! | 2 Messages

30 mars 2023, 12:32

Re-bonjour,

Je m'auto-répond du coup, il m'a suffit d'ajouter un paramètre random dans le lien des images twig. -> image.jpg?123456789 pour forcer le refresh.
J'ai également du modifier le bundle SymfonyUxCropper pour y modifier 'data-symfony--ux-cropperjs--cropper-public-url-value' => $options['public_url']."?".rand()