C# 查找动态调用的url中是否包含图像

C# 查找动态调用的url中是否包含图像,c#,asp.net,C#,Asp.net,我有一个产品销售模块,其中产品从cj上传并保存到数据库中。今天我注意到很少有记录包含图像url,但返回404(例如图像url:http://www.bridalfashionmall.com/images/satin-2.jpg)因此,中继器中没有显示图像。我如何检查动态调用的url中是否有图像sean建议的方法可以用作第一个过程。作为第二步,您可以尝试将流加载到图像中,看看它是否真的是图像 HttpWebRequest request = (HttpWebRequest)HttpWebReq

我有一个产品销售模块,其中产品从cj上传并保存到数据库中。今天我注意到很少有记录包含图像url,但返回404(例如图像url:http://www.bridalfashionmall.com/images/satin-2.jpg)因此,中继器中没有显示图像。我如何检查动态调用的url中是否有图像

sean建议的方法可以用作第一个过程。作为第二步,您可以尝试将流加载到图像中,看看它是否真的是图像

 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(imageFilePath);
 request.Timeout = 5000;
 request.ReadWriteTimeout = 20000;

 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
 System.Drawing.Image img = System.Drawing.Image.FromStream(response.GetResponseStream());
 // Save the response to the output stream
 Response.ContentType = "image/gif";

@NiranjanKala:如果图像不存在,则引发异常。然后捕获该异常。。。但实际上,您不应该在网上商店中热链接图像。@CodeCaster:但这些图像是由产品供应商提供的,而这些供应商从不重新设计其网站并更改其URI,从而导致您的图像失败?他们同意你偷他们的带宽?他们永远不会用一张照片换一个山羊?你真的应该把这些图片下载到你的服务器上,然后自己托管。”肖恩建议的方法可以作为第一步。“不,不行。”。像imageshack这样的网站使用.jpg作为HTML页面的链接,相反,大量的图像都是在没有扩展的情况下托管的(
http://site/images/{md5(filename)}
例如)。对,但这里我们假设文件url具有有效的文件扩展名。@hungryMind:非常正确,我只需要检查指定的url中是否存在图像location@hungryMind你不知道他们怎么说假设吗?
this one helped---
http://stackoverflow.com/questions/1639878/how-can-i-check-if-an-image-exists-at-http-someurl-myimage-jpg-in-c-asp-net


this one too worked

               try
                {
                    WebClient client = new WebClient();
                    client.DownloadData(ImageUrl);

                }
                catch
                {
                    imgPhoto.ImageUrl = ../User/Images/ResourceImages/Candychocolate1.jpg";//default image path
                }