我有以下代码从 url 加载图像。如果 url 不存在,则应加载占位符。
public BitmapImage Image
{
get
{
if (m_image == null)
{
try
{
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(m_photoPath);
image.DecodePixelHeight = s_imagePixelHeight;
image.EndInit();
m_image = image;
}
catch (FileNotFoundException)
{
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(c_placeholderImagePath);
image.DecodePixelHeight = s_imagePixelHeight;
image.DecodePixelWidth = s_imagePixelWidth;
image.EndInit();
m_image = image;
}
}
return m_image;
}
}
我遇到了最奇怪的错误 - 什么时候m_photoPath
是在任何浏览器中导致 404 的 url,没有抛出异常。我尝试使用 来检查文件是否存在HttpWebRequest
,但是每次我调用[HttpWebRequest instance].GetResponse()
时,都会有一个非常非常长的超时(可能是无限的——我还没等到发现)。所以HttpWebRequest
不是一个选择。有任何想法吗?