c# - Convertir una ruta URI a una ruta relativa del sistema de archivos en.NET
uri path c# (3)
¿Ya has probado Server.MapPath
?
o Uri.LocalPath
propiedad? Algo como lo siguiente:
string uriString = "file://server/filename.ext";
// Lesson learnt - always check for a valid URI
if(Uri.IsWellFormedUriString(uriString))
{
Uri uri = new Uri(uriString);
Console.WriteLine(uri.LocalPath);
}
¿Cómo convierto una ruta URI absoluta o relativa (por ejemplo, /foo/bar.txt
) a una ruta relativa del sistema de archivos correspondiente (por foo/bar.txt
) (por ejemplo, foo/bar.txt
) en .NET?
Mi programa no es una aplicación ASP.NET.
Me di cuenta de esta manera para producir una ruta completa del sistema de archivos absoluta a partir de una URI relativa o absoluta y una ruta base.
Con:
Uri basePathUri = new Uri(@"C:/abc/");
De una URI relativa:
string filePath = new Uri(basePathUri, relativeUri).AbsolutePath;
De una URI absoluta:
// baseUri is a URI used to derive a relative URI
Uri relativeUri = baseUri.MakeRelativeUri(absoluteUri);
string filePath = new Uri(basePathUri, relativeUri).AbsolutePath;