You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# WebBrowser控件加载HTML时img标签失效显示叉号怎么解决?

解决方案
  • HTML中img标签的本地磁盘路径未添加file协议前缀,无法被WebBrowser内核识别,需将src属性值修改为file:///d:/report/1.bmp格式
  • C#代码末尾的Refresh()调用为冗余逻辑,会重新加载about:blank页面覆盖已写入的HTML内容,直接删除该行即可

修正后C#代码

webBrowser1.Navigate("about:blank");
// 等待导航完成避免Document对象为空
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
    Application.DoEvents();
}
webBrowser1.Document.OpenNew(false);
webBrowser1.Document.Write(str_html);

修正后HTML示例

<html><head></head><body><img src="file:///d:/report/1.bmp" width=1000></body></html>

可选排查项

若修改后仍无法正常加载图片,可按以下顺序排查:

  • 确认d:/report/1.bmp路径真实存在,当前运行的程序有该路径的读取权限
  • 添加IE内核本地资源访问权限配置,程序启动时执行一次即可:
using Microsoft.Win32;
using System.Diagnostics;

// 写入注册表配置放开本地文件加载限制
RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN", true);
regKey.SetValue(Process.GetCurrentProcess().ProcessName + ".exe", 0, RegistryValueKind.DWord);
regKey.Close();

内容的提问来源于stack exchange,提问作者minyoung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:36:11