2012-04-09 81 views
0

ASP.NET緩存圖像從問題目錄C(如何禁用它?) .IE瀏覽器加載舊形象:\的Documents and Settings \本地設置\ Temporary Internet Files文件如何禁用單個圖像(單個頁面)上的緩存?

protected void Page_Load(object sender, EventArgs e) 
    { 
     MembershipUser user = Membership.GetUser(); 
     imCropped.ImageUrl = (File.Exists(Server.MapPath("..") + @"\Users\" + user.ProviderUserKey.ToString() + @"\" + user.ProviderUserKey.ToString() + ".gif"))? "~/Users/" + user.ProviderUserKey.ToString() + "/" + user.ProviderUserKey.ToString() + ".gif" : "~/Images/thumb.gif"; 
} 

protected void ButtonJcrop_Click(object sender, EventArgs e) 
    { 

     ... 

     String mapPath = @"\Users\" + user.ProviderUserKey.ToString() + @"\" + user.ProviderUserKey.ToString() + ".gif"; 
     bmpCropped.Save(Server.MapPath("..") + mapPath); 
     imCropped.ImageUrl = Request.ApplicationPath + mapPath; 
     ... 
} 
+0

請重新說明問題。 – hofnarwillie 2012-04-09 07:26:01

+0

句子讓用戶更容易理解問題,謝謝。 – 2012-04-09 07:48:37

回答

3

可以添加到圖像網址aquery串PARAM只是一個隨機數:

<img src="http://www.walaa.co.il/t.jpg?c=2342342"/> 

它可像Datetime.Ticks或別的東西。

ImageUrl = (File.Exists(string.Format("{0}\\Users\\{1}\\{1}.gif?c={2}", Server.MapPath(".."), user.ProviderUserKey.ToString(), DateTime.Now.Ticks))) ? string.Format("~/Users/{0}/{0}.gif?c={1}" , user.ProviderUserKey.ToString(), DateTime.Now.Ticks) : "~/Images/thumb.gif"; 
+0

這工作,但不是一個最佳的解決方案。如果您的圖像可能受益於緩存,則可以通過散列文件來創建該數字。 – linkerro 2012-04-09 07:29:20

+0

不,no image'name常量 – PMD 2012-04-09 07:30:10

+0

@linkerro我不認爲散列IMG會帶來更好的性能。順便說一句 - 我可以將它添加到JS中 - 而不是在SERVER端。但我更喜歡在生成IMG的同時發送datetime.ticks。 – 2012-04-09 07:30:59

相關問題