2016-06-21 45 views
0

我在C#应用程序中使用webbrowser控件来显示不同的本地文件,不一定是网页,但也包括图像和pdf.files。C#浏览器导航到本地文件。路径中的空间

我注意到,它的工作原理:

string path = "C:\MyDirectory\file.png"; 
webBrowser1.Navigate(path,false); 

,但如果在目录名称中使用空格失败:

string path = "C:\My Directory\file.png"; 
webBrowser1.Navigate(path,false);  

什么是正确WebBrowser控件中显示这些文件的伎俩?

回答

2

前缀你的字符串与@当地和UNC路径。

string localpath = @"drive:\Some Folder\file with spaces.extension"; 
string uncPath = @"\\network machine\Resources\Some Resource.extension"; 
+0

它为我工作。谢谢。 – RRM

1

嗨对不起,我不能发表评论没有更多的代表,但如果我理解正确的话,web浏览器类,基本上像一个IE浏览器的包装,所以用空格或需要特殊字符的URL进行编码,像这样:

string path = System.Uri.EscapeDataString(url) 

因此,它将取代空格与%20等,WebBrowser应该知道去哪里。

结帐的文档为EscapeDataString

+1

不幸的是,它不适用于我。我收到“价值不在预期范围内”的错误。 – RRM