Search code examples
asp.netdirectoryvirtual

Access Virtual Directory folder through code behind Asp.net


I am trying to access a Virtual Directory folder from Code-behind.

  • ASP.Net Website Name : SuperImages
  • Physical folder : C:\images
  • Virtual Directory folder : allimages (In same level as App_Data, Scripts, Properties folders)

I am trying to access and do a count of the number of items in this folder, then display them on a webpage.

How should I do this?

Thanks in advance!

=======================================================================

Update : From the posts below, it seems that Server.MapPath would give me the correct physical path. However, it seems to me that I am getting the wrong physical path. Reason should be I am running 'debug' mode.

Hence, any idea how I can ensure Server.MapPath point correctly and while running in debug mode?

======================================================================

SOLUTION :

Problem was that on Debug mode, I was using the VS Dev Server instead of my local IIS. I re-created a Virtual Directory for my app in the local IIS. Re-created another virtual directory for the 'allimages' folder in this newly created app, and it solved the problem.


Solution

  • You can do it this way:

    DirectoryInfo dir= new DirectoryInfo(Server.MapPath("/allimages"));
    

    Then you can get the Files in this folder as below:

    FileInfo[] files = dir.GetFiles(string searchPattern,SearchOption searchOption);
    

    and for tha count of files you can simply do array count.