8

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

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

4

4 回答 4

10

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

<html>
    <body>
        <img src="<dynamic handler url>" alt="My Username" 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';";

这对我来说非常有效。

于 2012-05-30T09:03:35.503 回答
2
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;
于 2012-05-30T08:59:40.343 回答
2

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

$("#myImage")
    .load(function() { alert("it loaded ok") })
    .error(function() {  $(this).attr("src", alternateImage)  });
于 2012-05-30T09:03:22.047 回答
0

从代码隐藏检查

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

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

于 2012-05-30T09:06:33.297 回答