【发布时间】:2012-01-03 09:06:07
【问题描述】:
我有一个 C# 中的网络浏览器,我想导航到我本地电脑上的路径(html 文件)。 我试过用这个:
if (File.Exists(Path + b.HTML))
{
browserCom1.Navigate(Path + b.HTML);
}
文件存在,但浏览器一直打开Internet Explorer的错误:“找不到文件:///(我的路径)”
这很奇怪,因为文件是正确的。例如,如果我使用:
System.Windows.Forms.OpenFileDialog browseFile = new
System.Windows.Forms.OpenFileDialog();
browseFile.ShowDialog();
String path = browseFile.FileName;
browserCom1.Navigate(path);
然后我选择了它之前尝试导航到的同一个文件,它可以工作。
如果我将上面的 brwseFile 文件名打印到控制台(顺便说一下,这与我的 Path+b.HTML 相同),并将其复制粘贴到 Navigate(...) 函数中(更改每个 '\'到'//')它不起作用。
我不知道该怎么做。 我尝试了其他类似的方法:
String path=(File.Open(Path + b.HTML, FileMode.Open).Name);
browserCom1.Navigate(path);
但应用程序一直在此冻结。
我也尝试过使用new URI(path) 等等。
如何简单地导航到计算机上的 HTML 文件?
【问题讨论】:
-
运行应用程序的账户是否有文件所在文件夹的权限?
-
IIRC 您只能在当前文档已构建处理某些事件后导航到 URL。 WebBrowser 组件的工作方式很奇怪。
-
我尝试了硬编码值。我在上面也提到过。 C://KioskWpf//WpfApplication2//Images//stuff.html 这是链接。
-
是的,你是对的,我按照你说的试试这个,路径没问题。有趣的是 FileExists 和 Image 除了这个路径而浏览器不是。我改了谢谢大家。
标签: c# navigation browser