最近項目需要把數(shù)據(jù)庫中對應的服務器上的圖片全部下載下來做處理。盡管我們可以確認圖片基本上都會存在,但是免不了會出現(xiàn)意外情況。這就需要判斷一個網絡地址的文件是否存在酌予。
我們都知道判斷本地文件是否存在直接用File.Exists(url)
即可。
判斷網絡文件是否存在的方法奖慌,其實就是模擬HttpWebRequest
下載請求抛虫。你能獲取到相應,就表明文件是存在的升薯。
這是我寫的一個字符串的擴展方法莱褒,判斷該字符串對應的網絡文件是否存在击困。
//判斷網絡文件是否存在
public static bool HttpFileExist(this string fileUrl)
{
try
{
//創(chuàng)建根據(jù)網絡地址的請求對象
HttpWebRequest httpWebRequest = (HttpWebRequest) WebRequest.CreateDefault(new Uri(fileUrl));
httpWebRequest.Method = "HEAD";
httpWebRequest.Timeout = 1000;
//返回響應狀態(tài)是否是成功比較的布爾值
using (HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse())
{
return response.StatusCode == HttpStatusCode.OK;
}
}
catch(Exception ex)
{
return false;
}
}