220 votes

Convertir le chemin du fichier en fichier URI?

Le .NET Framework a-t-il des méthodes pour convertir un chemin (par exemple "C:\whatever.txt" ) en un URI de fichier (par exemple, "file:///C:/whatever.txt" )?

La classe System.Uri a l'inverse (de l'URI du fichier au chemin absolu), mais rien de ce que je peux trouver pour la conversion en fichier URI.

En outre, ce n'est pas une application ASP.NET.

Merci!

315voto

JaredPar Points 333733

Le constructeur System.Uri a la capacité d'analyser des chemins de fichiers complets et de les transformer en chemins de style URI. Donc, vous pouvez simplement faire ce qui suit:

 var uri = new System.Uri("c:\\foo");
var converted = uri.AbsoluteUri;
 

9voto

MrCalvin Points 11

VB.NET:

 Dim URI As New Uri("D:\Development\~AppFolder\Att\1.gif")
 

Différents résultats:

 URI.AbsolutePath   ->  D:/Development/~AppFolder/Att/1.gif  
URI.AbsoluteUri    ->  file:///D:/Development/~AppFolder/Att/1.gif  
URI.OriginalString ->  D:\Development\~AppFolder\Att\1.gif  
URI.ToString       ->  file:///D:/Development/~AppFolder/Att/1.gif  
URI.LocalPath      ->  D:\Development\~AppFolder\Att\1.gif
 

Bon mot:

 New Uri("D:\Development\~AppFolder\Att\1.gif").AbsoluteUri
 

Sortie : file:///D:/Development/~AppFolder/Att/1.gif

5voto

Gavin Greenwalt Points 11

Au moins dans .NET 4.5+, vous pouvez également faire:

 var uri = new System.Uri("C:\\foo", UriKind.Absolute);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X