程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 重新上傳圖片後 地址不變 浏覽器加載不到的問題,上傳圖片不變

重新上傳圖片後 地址不變 浏覽器加載不到的問題,上傳圖片不變

編輯:JAVA綜合教程

重新上傳圖片後 地址不變 浏覽器加載不到的問題,上傳圖片不變


做項目的時候遇到一個問題:

  上傳文件以後,相同的地址,第一次加載沒有問題,當你操作次數過快,上傳次數過多時,後面的圖片會出現加載不到的情況,浏覽器加載依舊是上一個,或者更早之前的圖片。

此問題出現原因:

  這涉及到浏覽器緩存規則的問題。當你第二次或多次請求同一地址時,浏覽器會加一個If-Modified-Since參數,記錄上次請求的文件的最後修改時間(只精確到秒),web服務器收到請求後發現有頭If-Modified-Since 則與被請求資源的當前最後修改時間進行對比,

如果時間一致,那麼返回HTTP狀態碼304(不返回文件內容),客戶端接到之後,就直接把本地緩存文件顯示到浏覽器中。如果時間不一致,就返回HTTP狀態碼200和新的文件內容,客戶端接到之後,會丟棄舊文件,把新文件緩存起來,並顯示到浏覽器中。這時候如

果你是操作過快的話,就會出現沒有加載第二次的上傳文件的問題。

解決方法:

  在請求地址後加個隨機數的參數 例如:“http://offlintab.firefoxchina.cn/static/img/search/baidu_web.png?r=”+Math.Random();

  次方法同樣適用與iframe等..

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved