2009-06-23 16 views
5

¿Cuál sería la forma correcta de crear un URI completamente file:// con codificación URL a partir de una ruta local, es decir, donde se hayan escapado todos los caracteres especiales como espacios en blanco, etc.?Cómo crear correctamente el archivo escapado: // URI en C#?

Dada la siguiente entrada

C:\Data\Input Document.txt 

me gustaría obtener

file:///C:/Data/Input%20Document.txt 

He estado usando

Uri uri = new Uri(@"C:\Data\Input Document.txt", UriKind.RelativeOrAbsolute); 

Sin embargo, esto resulta en un URI sin escape:

file:///C:/Data/Input Document.txt 

Respuesta

3

que ya está codificado

uri.AbsolutePath debería darle "C:/Data/Input%20Document.txt"

+0

Gracias, me perdí eso. Sin embargo, solo funciona para URI absolutos, ya que esta propiedad no está configurada para URI relativos. –

0

Ha intentado:

new Uri(str).AbsoluteUri

No estoy seguro de entender su requisito para URI relativa ...

Cuestiones relacionadas