How do I convert a file path to a URL in ASP.NET

asp.net, image, url

Solution

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);
    }
}

Problem

Basically I have some code to check a specific directory to see if an image is there and if so I want to assign a URL to the image to an ImageControl. ``` if (System.IO.Directory.Exists(photosLocation)) { string[] files = System.IO.Directory.GetFiles(photosLocation, "*.jpg"); if (files.Length > 0) { // TODO: return the url of the first file found; } } ```

Original source