有没有办法检测图像是否未在web浏览器控件中加载/中断?我从像这样的文件加载html:
这是一些html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META content="text/html; charset=unicode" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 11.00.10586.589">
</HEAD>
<BODY>
<A href="https://web.archive.org/web/20120124023601/http://www.flatfeets.com/wp-content/uploads/2012/01/shoes-for-flat-feet.jpg">
<IMG title="shoes for flat feet" class="alignleft size-medium wp-image-18" alt="" src="https://web.archive.org/web/20120124023601im_/http://www.flatfeets.com/wp-content/uploads/2012/01/shoes-for-flat-feet-300x238.jpg">
</A>
</BODY>
</HTML>
简单地将其加载到webbrowser
webbrowser1.DocumentText = thehtml
我希望能够检测图像是否已正确加载。这适用于页面上的所有图像。
答案 0 :(得分:0)
您可以为html文件中的每个图像创建单独的WebClient请求,然后查看是否有任何返回html响应错误代码。
您首先必须解析html并列出所有图片网址。我建议使用像HTML Agility Pack这样的软件包来轻松解析图片网址。然后,您可以使用此代码来识别任何错误路径。
WebClient requester = new WebClient();
foreach (string url in urls)
{
try
{
Byte[] imageBytes = requester.DownloadData(url);
}
catch(Exception ex)
{
//Do something here to indicate that the image file doesn't exist or couldn't be downloaded
}
}
您还可以将字节数组转换为图像,然后确保它是RGB编码的,因为这是唯一可以在Web浏览器中可靠显示的编码。