2009-06-23 8 views
5

Quelle serait la manière correcte de créer un URI file:// entièrement codé par URL à partir d'un chemin local, c'est-à-dire où tous les caractères spéciaux tels que les espaces, etc. sont échappés?Comment créer un fichier correctement échappé: // URI en C#?

Compte tenu de l'entrée suivante

C:\Data\Input Document.txt 

Je voudrais obtenir

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

J'utilise

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

Cependant, il en résulte une URI non échappée:

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

Répondre

3

il est déjà codé

uri.AbsolutePath devrait vous donner "C:/Data/Input%20Document.txt"

+0

Merci, j'ai raté ça. Toutefois, il ne fonctionne que pour les URI absolus car cette propriété n'est pas définie pour les URI relatifs. –

0

Avez-vous essayé:

new Uri(str).AbsoluteUri

Je ne sais pas, je comprends votre exigence par rapport ... URIs

Questions connexes