我正在尝试从另一个 Intranet 站点获取用户的缩略图,但其中一些不遵循预定义的格式,这意味着我想加载默认缩略图。
检查图像 URL 是否有效的最佳方法是什么?
根据您获取图像的方式,这可能会起作用
<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';";
这对我来说非常有效。
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;
你可以很容易地在 jQuery 中实现这一点。
$("#myImage")
.load(function() { alert("it loaded ok") })
.error(function() { $(this).attr("src", alternateImage) });
从代码隐藏检查
File.Exists(Server.MapPath("file path"))
如果它返回 true,则分配该值,否则分配您的默认缩略图。