如何在C#/ ASP.NET中的http://someurl/myimage.jpg中检查图像是否存在

如何检查图像是否存在于C#/ ASP.NET中的http://someurl/myimage.jpg似乎应该有一种方法来检查这一点 – 但我找不到一个。

我找到了这个 ,但它并没有真正回答这个问题。

这段代码应该有效:

private static bool UrlExists(string url) { try { new System.Net.WebClient().DownloadData(url); return true; } catch (System.Net.WebException e) { if (((System.Net.HttpWebResponse)e.Response).StatusCode == System.Net.HttpStatusCode.NotFound) return false; else throw; } } 

您可以尝试使用System.Net.WebRequest向该URL发送“HEAD”请求,并检查响应以查看该文件是否存在 – 这应该可以完成工作,而无需尝试下载它。

string fileextension = Path.GetExtension(filename);

 if (fileextension.ToLower() == ".png" || fileextension.ToLower() == ".jpg" || fileextension.ToLower() == ".jpeg" || fileextension.ToLower() == ".gif" || fileextension.ToLower() == ".bmp"){} 

也许这或那可能会有所帮助。 我不认为有图像的直接命令,但您可以尝试使用FileExist方法。

您可以使用System.Net.WebClient.DownloadFile函数尝试从URL加载图像,看看是否收到错误。 (很可能是404 Not Found错误)

它是关于从URL执行此操作的唯一方法。 System.IO命名空间及其中的所有function都是针对本地计算机或网络上的文件,因此在这种情况下它们对您无用。