webbrowser控件查看的html文件的图像路径问题

时间:2010-04-21 10:31:44

标签: c# html winforms image webbrowser-control

我的表单上有一个webbrowser控件。我能够在该控件中显示html文件。但是如果我向其提供绝对路径,我的页面会包含一些图像,然后显示图像。但如果我给出相对路径,那么图像不会显示在页面中。
我的HtmlPages文件夹位于bin文件夹中。
我正在分配

FileStream source = new FileStream(@"..\HtmlPages\supportHtml.html", FileMode.Open, FileAccess.Read);
webBrowser.DocumentStream = source;

如果我指定D:\myapp\bin\HtmlPages\file.png,则没有问题。 我的图像存储在同一个文件夹中。如果我用webbrowser打开html文件,则会显示图像。
什么是设置的正确途径?

1 个答案:

答案 0 :(得分:2)

相对路径相对于WebBrowser.Url。当你直接加载HTML时,通过DocumentStream或DocumentText大约是:空白。这不会帮助WB找到文件,你必须使用绝对路径。不能修改Url属性。

在将文件内容分配给DocumentText属性之前,请考虑使用Html Agility Pack来修改文件内容。使用Path.GetFullPath()来转换相对路径。