C# webbrowser navite 到本地文件。路径中的空格

C# webbrowser navite to local file. Spaces in path

我在 C# 应用程序中使用网络浏览器控件来显示不同的本地文件,不一定是网页,还有图像和 pdf.files。

我注意到它有效:

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

但如果目录名中有空格,它会失败:

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

在 webbrowser 控件中正确显示此类文件的技巧是什么?

你好抱歉我不能 post 没有更多代表的评论但是如果我理解正确的话,WebBrowser class 基本上就像一个 IE 包装器,所以带有空格或特殊字符的 URL需要像这样编码:

string path = System.Uri.EscapeDataString(url)

这样它将用 %20 等替换空格,WebBrowser 应该知道去哪里。

查看 EscapeDataString

的文档

为本地和 UNC 路径在字符串前加上 @ 前缀。

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