在Webkit .NET中打开本地文件

时间:2011-01-05 17:06:43

标签: .net vb.net webkit webkit.net

一个简单的WebKitBrowser1.Navigate(localfilehere)由于某种原因不起作用。

我尝试将“file://”添加到网址,但这也不起作用。

这看起来很荒谬,但这个功能真的不存在吗?

7 个答案:

答案 0 :(得分:5)

它看起来像你错误的网址。您可以通过

进行检查
Uri.IsWellFormedUriString

其中一个原因 - 你把字符串放在国家符号上。

在这种情况下,之前的答案不能解决您的问题,因为您还应编码网址。

您可以使用System.Web.HttpUtility.UrlEncode,然后应用所描述的解决方案 在X Enterprises之前(但你不应该替换空格 - 它已经通过编码完成了。)

但获取正确网址的最简单方法是

string url = new Uri(pathToFile, UriKind.Absolute).AbsoluteUri;

答案 1 :(得分:3)

“file://”是正确的协议。要获得一个文件说...“c:\ temp \ test.html”你可以尝试类似的东西:

“文件://c/temp/test.html”

请注意驱动器号后的正斜杠和冒号的缺失。

答案 2 :(得分:2)

WebKit.Net 0.5 Navigate()函数将字符串作为其参数(本地/ Web文件)。对于例如c:\xxx\yyy zzz.htm的本地文件,可以按如下方式传递给导航函数: -

dim sFile As String = "c:\xxx\yyy zzz.htm"
Dim url as new Uri(sFile, UriKind.Absolute)

'Now pass the file's required formatted absolute path
WebKitBrowser1.Navigate(url.AbsoluteUri)

答案 3 :(得分:1)

我找到了解决问题的方法:

1。)确保路径以“file:///”开头 2.)确保使用文件的完整路径
3.)确保所有反斜杠都改为正斜杠
4.)确保用“%20”替换所有空格“” 5.)确保文件以“.html”结尾

所以,这里有一个文件:
“C:\ Program Files \ test.html”
需要成为:
“文件:/// C:/Program%20Files/test.html”

希望这有帮助。

答案 4 :(得分:1)

创建示例HTML页面。 上传到我的资源。

使用此代码: WebKitBrowser1.document.write(my.resources.page.html)

答案 5 :(得分:1)

假设index.html在bin / debug文件夹中,那么

使用“file:///”+ Environment.CurrentDirectory.Replace(@“\”,@“/”)+“/ index.html”

假设index.html位于bin / debug并创建了文件夹,如www

使用“file:///”+ Environment.CurrentDirectory.Replace(@“\”,@“/”)+“/ www / index.html”

答案 6 :(得分:0)

在Google Chrome中,您可以通过输入file:///然后输入文件的complet路径来打开本地文件,因此您可能需要在Webkit上使用相同的运算符。