asp.net проверьте, существует ли imageURL


Я пытаюсь получить миниатюру пользователя с другого сайта интрасети, но некоторые из них не соответствуют заранее определенному формату, что означает, что я хотел бы загрузить миниатюру по умолчанию.

Как лучше всего проверить, является ли URL-адрес изображения допустимым?

4 6

4 ответа:

В зависимости от того, как вы получаете свои изображения, это может работать по-разному

<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, то назначьте значение, в противном случае назначьте миниатюру по умолчанию.