asp.net 检查 imageURL 是不是存在

Posted

技术标签:

【中文标题】asp.net 检查 imageURL 是不是存在【英文标题】:asp.net check if imageURL existsasp.net 检查 imageURL 是否存在 【发布时间】:2012-06-04 11:50:31 【问题描述】:

我正在尝试从另一个 Intranet 站点获取用户的缩略图,但其中一些不遵循预定义的格式,这意味着我想加载默认缩略图。

检查图像 URL 是否有效的最佳方法是什么?

【问题讨论】:

***.com/questions/1588854/…img标签中有onerror属性 ^对不起,我在回答之前没有看到这个。 【参考方案1】:
WebRequest webRequest = WebRequest.Create(url);  
WebResponse webResponse;
try 

  webResponse = webRequest.GetResponse();

catch //If exception thrown then couldn't get response from address

  return 0;
 
return 1;

【讨论】:

您忘记关闭响应对象,这会导致问题。【参考方案2】:

你可以很容易地在 jQuery 中实现这一点。

$("#myImage")
    .load(function()  alert("it loaded ok") )
    .error(function()   $(this).attr("src", alternateImage)  );

【讨论】:

【参考方案3】:

根据您获取图像的方式,这种变化可能会起作用

<html>
    <body>
        <img src="<dynamic handler url>"  onError="this.src='defaultProfile.jpg';" />
    </body>
</html>

这就是您在 ASP.NET 中的操作方式。

设计师 -

<asp:Image ImageUrl="NonexistentImage.Jpg" ID="profileImage" Height="50" Width="50" runat=server />

代码背后 (c#)

profileImage.Attributes["onerror"] = "this.src='http://www.cs.uofs.edu/~olivetoj2/blah.jpg';";

这对我来说非常适合。

【讨论】:

谢谢。我会试试这个。 没有这个属性。 您可以通过将其添加到属性集合中来设置它,msdn.microsoft.com/en-us/library/… onError 似乎不适用于 它实际上说 onError 不是 的有效元素 它不是 w3c 标准的一部分,但大多数浏览器都支持它。甚至早在 2001 年 - lists.w3.org/Archives/Public/www-html/2001Sep/0084.html。有很多人在使用它(blog.sociomantic.com/2010/07/…),所以它很可能是导致问题的 asp 图像控件。 如果没有找到隐藏图像的 ASP VB 代码。 myImage.Attributes("onerror") = "this.style.visibility=""hidden"";"【参考方案4】:

通过代码隐藏检查

File.Exists(Server.MapPath("file path"))

如果返回 true,则分配该值,否则分配您的默认缩略图。

【讨论】:

以上是关于asp.net 检查 imageURL 是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

检查选择列 ASP.NET C# 的数据库中是不是存在值

asp.net mvc3 返回多个json列表

ASP .NET 检查会话

如何检查当前页面是不是在 ASP.Net 中使用 SSL?

使用 C# 在 ASP.NET 中检查 SQL Server 表中的列值是不是为空

检查 Request.QueryString 中是不是存在未分配的变量