2012-09-24 22 views
76

que tienen una ruta local absoluta que apunta a una dir: "file:\\C:\\Users\\john\\documents\\visual studio 2010\\Projects\\proj"Excepción: "formatos de URI no son compatibles"

Pero cuando trato de arrojarlo a Héctor DirectoryInfo 's me sale el 'formatos de URI no son compatibles' excepción.

Busqué en Google y miré SO, pero solo veo soluciones con rutas remotas, no locales. Yo esperaría un método de conversión de algún tipo ...

Respuesta

153
string uriPath = 
    "file:\\C:\\Users\\john\\documents\\visual studio 2010\\Projects\\proj"; 
string localPath = new Uri(uriPath).LocalPath; 
+3

Nice! Tuve exactamente este mismo problema y busqué en Google como loco, esto funcionó muy bien. –

+0

Excelente ... me ha ahorrado mucho tiempo :) –

+0

Si bien es una solución que funciona de manera automática, solo hay un caso en el que falla. Si la ubicación contiene un #, la ruta local solo irá hasta esa posición. P.ej. si su ruta es file: /// C: /foo/bar#/test.jpg, obtendrá C:/foo/bar en lugar de lo que realmente desea. – DokutoMekki

0

Trate Esta

ImagePath = "http://localhost/profilepics/abc.png"; 
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ImagePath); 
      HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
      Stream receiveStream = response.GetResponseStream(); 
Cuestiones relacionadas