我的表单上有一个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文件,则会显示图像。
什么是设置的正确途径?
答案 0 :(得分:2)
相对路径相对于WebBrowser.Url。当你直接加载HTML时,通过DocumentStream或DocumentText大约是:空白。这不会帮助WB找到文件,你必须使用绝对路径。不能修改Url属性。
在将文件内容分配给DocumentText属性之前,请考虑使用Html Agility Pack来修改文件内容。使用Path.GetFullPath()来转换相对路径。