別のイントラネット サイトからユーザーのサムネイルを取得しようとしていますが、それらの一部は定義済みの形式に従っていないため、代わりにデフォルトのサムネイルを読み込みたいと考えています。
画像の 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 が返された場合は値を割り当て、それ以外の場合はデフォルトのサムネイルを割り当てます。