GeckoFx不显示本地图像

本文关键字:地图 图像 显示 GeckoFx | 更新日期: 2023-09-27 18:10:58

我使用GeckoFx在我的应用程序中显示一些html页面。但控件不会加载本地图像。我使用GeckoBrowser.Document.Body.InnerHtml = htmlcode;,其中htmlcode是这样的:

<html><body><img src="file:///c:/1.jpg" </img></body></html>

如果我用任何在线图像(例如"https://www.google.com/images/nav_logo100633543.png")替换"file:///c:/1.jpg",图像加载没有问题,但本地图像不会加载。我试过了:

  • "c:/1. jpg"
  • "c: ' 1. jpg"
  • "文件://c:/1. jpg"
  • "文件:c:////1. jpg"

我做错了什么吗?

GeckoFx不显示本地图像

我遇到了同样的问题,显然这个问题是浏览器的安全功能,防止非本地页面访问本地文件。

我没有任何运气改变这种行为,所以变通的办法是将HTML页面写入一个文件,并使用导航从磁盘加载该文件。允许本地页面访问磁盘上的文件。

代替:

geckofx.LoadHtml(html_string);

使用:

using (StreamWriter sw = File.CreateText(path))
{
   sw.Write(html_string);
}
geckofx.Navigate(path);

它将加载本地文件和图像,如<img src="file://c:/1.jpg" />