如何強制web瀏覽器不緩存圖像背景我正在為兩個公益網(wǎng)站編寫和使用一個非常簡單的基于CGI(Perl)的內(nèi)容管理工具。它為網(wǎng)站管理員提供了HTML表單,用于填入字段(日期、地點、標題、描述、鏈接等)的事件。保存它。在該表單上,我允許管理員上傳與事件相關(guān)的圖像。在顯示表單的HTML頁面上,我還顯示了上傳圖片的預(yù)覽(HTMLIMG標記)。問題當(dāng)管理員想要更改圖片時,問題就會發(fā)生。他只需點擊“瀏覽”按鈕,選擇一張新圖片,然后按OK鍵即可。這個很好用。一旦圖像被上傳,我的后端CGI就會正確地處理上傳和重新加載表單。問題是所顯示的圖像不振作起來。舊圖像仍然顯示,即使數(shù)據(jù)庫持有正確的圖像。我縮小了范圍,因為圖像被緩存在Web瀏覽器中。如果管理員點擊Firefox/Explorer/Safari中的“重新加載”按鈕,一切都會恢復(fù)正常,新圖像就會出現(xiàn)。我的解決方案-不管用我試圖通過編寫一個HTTP過期指令來控制緩存,該指令的日期在很久以前。Expires: Mon, 15 Sep 2003 1:00:00 GMT請記住,我是在管理方面,我并不關(guān)心頁面是否需要更長的時間來加載,因為它們總是過期的。但是,這也不起作用。注記上傳圖像時,其文件名不保存在數(shù)據(jù)庫中。它被重命名為Image.jpg(簡單地說,當(dāng)使用它時)。當(dāng)用新映像替換現(xiàn)有圖像時,名稱也不會更改。只更改圖像文件的內(nèi)容。Web服務(wù)器由主機服務(wù)/ISP提供。它使用Apache。問題有沒有辦法迫使網(wǎng)頁瀏覽器不要緩存這個頁面上的東西,甚至是圖像?我正在處理的選項實際上是“保存文件名”與數(shù)據(jù)庫。這樣,如果圖像被更改,IMG標記的src也會改變。然而,這需要在整個網(wǎng)站上做很多改變,如果我有一個更好的解決方案,我寧愿不去做。此外,如果上傳的新圖像具有相同的名稱(假設(shè)圖像是經(jīng)過了一點光刻并重新上傳),這仍然不能工作。
3 回答

慕尼黑8549860
TA貢獻1818條經(jīng)驗 獲得超11個贊
<img src="picture.jpg?1222259157.415" alt="">
performance.now()
time.time()

catspeake
TA貢獻1111條經(jīng)驗 獲得超0個贊
<img src="foo.cgi?random=323527528432525.24234" alt="">
Cache-Control: no-cache

慕的地10843
TA貢獻1785條經(jīng)驗 獲得超8個贊
<img src="picture.jpg?20130910043254">
上傳圖像時,其文件名不保存在數(shù)據(jù)庫中。它被重命名為Image.jpg(簡單地說,在使用它的時候)。當(dāng)用新映像替換現(xiàn)有圖像時,名稱也不會更改。只更改圖像文件的內(nèi)容。
php
添加回答
舉報
0/150
提交
取消