Evitare la cache dopo l'aggiornamento di immagini per Paperclip
-
13-09-2019 - |
Domanda
sto caricando le immagini allo storage S3 utilizzando graffetta gioiello. Si carica con successo.
Nella mia applicazione, un utente può cambiare la sua foto del profilo. Se l'utente fa il cambiamento foto del profilo, la nuova immagine otterrà caricato con successo. Il problema è il browser mostrerà foto precedente solo dopo il caricamento. Solo dopo un aggiornamento forza da parte premendo CTRL + F5 sarà la nuova visualizzazione delle immagini.
Nota: immagine viene caricato tramite il modulo posta. Credo che sia correlato con il caching, ma non ho idea di dove posso cambiare il mio codice. Please help me questo fuori. Grazie.
Soluzione
Quali proprietà del vostro oggetto dell'immagine stai usando come src
della tua immagine? Se si utilizza user.image.url
(supponendo che si dispone di un modello User
e che chiama image
del campo Paperclip), quindi l'URL per l'immagine su S3 dovrebbe avere un numero nella querystring che agisce per fermare qualsiasi caching in modo che si vede l'immagine aggiornata immediatamente. Ad esempio l'URL per l'immagine deve cambiare da
http://s3.amazonaws.com/bucket/images/5/original/pic.gif?1250184309
a
http://s3.amazonaws.com/bucket/images/5/original/pic.gif?1250184348
che dovrebbe fermare il caching del browser l'immagine.