0

我做下面的代碼來檢查是否有圖像存在:不存在的圖像返回狀態代碼200,而不是400

public bool DoesImageExist(string imageUrl) 
{ 
    bool exists = false; 
    try 
    { 
     HttpWebRequest request = (HttpWebRequest)System.Net.WebRequest.Create(imageUrl); 
     request.Timeout = 5000; 
     using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
     { 
      exists = (response.StatusCode == HttpStatusCode.OK); 
     } 
    } 
    catch 
    { 
     exists = false; 
    } 

    return exists; 
} 

這工作正常,並返回不存在的圖像404,然而,由於我在web.config中打開了customErrors,它開始返回200狀態,因爲它請求的圖像返回一個404並重定向到返回200狀態的錯誤處理頁面。有沒有辦法解決這個問題,以防止customErrors頁面返回200 OK或圖像?

回答

0

我發現周圍一個快速的方式爲同樣的問題任何人通過把這個代碼放到我的通用處理器頁面(這是我在的customErrors設置)

if (Request.Params.ToString().Contains("jpg") || Request.Params.ToString().Contains("png")) 
     Response.StatusCode = 404; 

基本上,這迫使它返回任何404 jpeg/png圖像,但是對於所有其他錯誤,它會強制顯示通用頁面。

相關問題