2016-06-21 5 views
0

Ich benutze Webbrowser-Steuerelement in C# -Anwendung, um verschiedene lokale Dateien anzuzeigen, nicht unbedingt Webseiten, sondern auch Bilder und PDF-Dateien.C# webbrowser navite zu lokaler Datei. Leerzeichen im Pfad

bemerkte ich, dass es funktioniert:

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

aber wenn es Plätze sind in Verzeichnissen Namen scheitert es:

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

Was ist der Trick, solche Dateien korrekt in WebBrowser-Steuerelement angezeigt werden?

Antwort

2

Präfix der Zeichenfolge mit @ für die lokalen und UNC-Pfade.

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

Es hat für mich funktioniert. Vielen Dank. – RRM

1

Hallo sorry ich keinen Kommentar ohne mehr rep posten kann, aber wenn ich richtig verstehe, die WebBrowser-Klasse ist im Grunde wie ein IE-Wrapper, und so URLs mit Leerzeichen oder Sonderzeichen in Not wie so codiert werden:

string path = System.Uri.EscapeDataString(url) 

So dass es Leerzeichen mit% 20 usw. ersetzt und WebBrowser sollte wissen, wohin zu gehen.

Kasse die Dokumentation für EscapeDataString

+1

Leider funktioniert es nicht für mich. Ich bekomme den Fehler "Wert liegt nicht im erwarteten Bereich". – RRM

Verwandte Themen