我希望使用C#从一个网络目录到http://
获取所有文件名和目录列表。
例如:
Directory.GetFiles(folder)**
用于从本地目录获取文件列表,就像我想从web目录中获取文件列表一样。
答案 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);
然后你在里面运行一个循环。