从Web目录中获取文件名和目录列表

时间:2013-04-12 06:55:20

标签: c# asp.net

我希望使用C#从一个网络目录到http://获取所有文件名和目录列表。

例如:

Directory.GetFiles(folder)**

用于从本地目录获取文件列表,就像我想从web目录中获取文件列表一样。

4 个答案:

答案 0 :(得分:5)

System.IO.Directory.GetFiles(HttpContext.Current.Server.MapPath("~/PortalPage/"))

答案 1 :(得分:3)

,我不认为HTTP有"directory index"你可以直接使用。

您无法将url传递给Directory.GetFiles方法,此方法将物理路径作为参数(如果可以访问的话)。

请改为使用Server.MapPath方法。

  

MapPath方法将指定的相对或虚拟路径映射到   服务器上对应的物理目录。

     

路径

     

指定映射到物理目录的相对路径或虚拟路径。   如果Path以正向(/)或反斜杠()开头,则   MapPath方法返回路径,就好像Path是一个完整的虚拟路径。如果   Path不以斜杠开头,MapPath方法返回路径   相对于正在处理的.asp文件的目录。

答案 2 :(得分:1)

HTTP本身没有列出文件夹中FILE内容的任何功能。这是不可能的,因为HTTP规范不需要将URL映射到文件夹。可编程网页的整个基础是基于URL未映射到STATIC文件。

然而。 HTTP协议有很多扩展。 WebDAV是一种用于将HTTP URI映射到某个位置的目录的协议。查看here for how to query a WebDAV service for the content of a folder

但据我所知,它无法进行递归查询。

答案 3 :(得分:0)

您无法在网址上使用Directory.GetFiles

考虑一下这个例子:

string baseURL = "http://download.example.org/export/dump/";
WebClient client = new WebClient();            
string content = client.DownloadString(baseURL);

然后你在里面运行一个循环。