sfondo
Sto scrivendo e utilizzando uno strumento di gestione dei contenuti basato su CGI (Perl) molto semplice per due siti Web pro-bono. Fornisce all'amministratore del sito web moduli HTML per eventi in cui riempiono i campi (data, luogo, titolo, descrizione, collegamenti, ecc.) E li salvano. In quel form consento all'amministratore di caricare un'immagine relativa all'evento. Nella pagina HTML che visualizza il modulo, sto anche mostrando un'anteprima dell'immagine caricata (tag HTML img).
Il problema
Il problema si verifica quando l'amministratore vuole cambiare l'immagine. Dovrebbe solo premere il pulsante "sfoglia", scegliere una nuova immagine e premere ok. E questo funziona bene.
Una volta caricata l'immagine, il mio CGI back-end gestisce il caricamento e ricarica il modulo correttamente.
Il problema è che l'immagine mostrata non lo fa viene aggiornata. La vecchia immagine è ancora visualizzata, anche se il database contiene l'immagine giusta. L'ho ristretto al fatto che l'IMMAGINE È CACCIATA nel browser web. Se l'amministratore preme il pulsante RELOAD in Firefox / Explorer / Safari, tutto viene aggiornato correttamente e viene visualizzata la nuova immagine.
La mia soluzione - Non funziona
Sto cercando di controllare la cache scrivendo un'istruzione HTTP Expires con una data molto lontana nel passato.
Expires: Mon, 15 Sep 2003 1:00:00 GMT
Ricorda che sono dal lato amministrativo e non mi interessa davvero se le pagine impiegano un po 'più di tempo a caricarsi perché sono sempre scadute.
Ma anche questo non funziona.
Appunti
Quando si carica un'immagine, il suo nome file non viene mantenuto nel database. Viene rinominato come Image.jpg (per cose quando lo si utilizza). Quando si sostituisce l'immagine esistente con una nuova, neanche il nome cambia. Cambia solo il contenuto del file immagine.
Il server web è fornito dal servizio di hosting / ISP. Usa Apache.
Domanda
C'è un modo per forzare il browser web a NON memorizzare nella cache le cose di questa pagina, nemmeno le immagini?
Sto manipolando con l'opzione per effettivamente "salvare il nome del file" con il database. In questo modo, se l'immagine viene modificata, cambierà anche l'src del tag IMG. Tuttavia, questo richiede molte modifiche in tutto il sito e preferisco non farlo se ho una soluzione migliore. Inoltre, questo non funzionerà ancora se la nuova immagine caricata ha lo stesso nome (supponiamo che l'immagine sia stata ritoccata un po 'e ricaricata).