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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top