【问题标题】:C# webbrowser navite to local file. Spaces in pathC# webbrowser 导航到本地文件。路径中的空格
【发布时间】:2016-06-21 13:15:04
【问题描述】:

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

我注意到它有效:

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

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

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

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

【问题讨论】:

    标签: c# uri webbrowser-control


    【解决方案1】:

    使用 @ 作为本地和 UNC 路径的前缀。

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

    【讨论】:

      【解决方案2】:

      您好,抱歉,如果没有更多代表,我无法发表评论,但如果我理解正确,WebBrowser 类基本上就像一个 IE 包装器,因此需要像这样对带有空格或特殊字符的 URL 进行编码:

      string path = System.Uri.EscapeDataString(url)
      

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

      查看EscapeDataString 的文档

      【讨论】:

      • 不幸的是它对我不起作用。我收到“值不在预期范围内”错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      • 2015-04-14
      • 1970-01-01
      • 2018-01-12
      • 2015-06-13
      相关资源
      最近更新 更多