As far as I know, there's no method to do what you want; at least not directly. I'd store the photosLocation
as a path relative to the application; for example: "~/Images/"
. This way, you could use MapPath to get the physical location, and ResolveUrl
to get the URL (with a bit of help from System.IO.Path
):
string photosLocationPath = HttpContext.Current.Server.MapPath(photosLocation);
if (Directory.Exists(photosLocationPath))
{
string[] files = Directory.GetFiles(photosLocationPath, "*.jpg");
if (files.Length > 0)
{
string filenameRelative = photosLocation + Path.GetFilename(files[0])
return Page.ResolveUrl(filenameRelative);
}
}