2012-08-09 140 views
2

假设网站已经为其文件夹中的某个文件夹设置了打开的目录列表权限,并且我可以在Web浏览器上看到文件[如图像上]。有没有办法将文件夹中的文件转换为数组?如何从打开目录列表的目录中获取文件?

enter image description here

总之,我需要使用在干什么DirectoryInfo.GetFiles("C:/");一个URL的方法。

编辑:我宁愿要使用一种方法,而不是获取Web响应并解析结果。这就像后门,以防没有其他方法。

+0

只有一个或者是你希望得到的子目录中的所有文件夹以及?您可以使用webclient加载html并使用正则表达式来获取该信息 – Esen 2012-08-09 19:54:29

+0

@Esen,我可以再次为子目录做,这是正确的。但我会很高兴,如果你可以解释你的解决方案或点样本等 – kubilay 2012-08-09 19:58:27

回答

4

这个代码将有助于你得到的HTML

   WebRequest request = WebRequest.Create("http://yourwebsite/yourwebdirectory/"); 
      var webResponse=request.GetResponse(); 
      Stream dataStream = webResponse.GetResponseStream(); 
      StreamReader reader = new StreamReader(dataStream); 
      string responseFromServer = reader.ReadToEnd(); 
      Console.WriteLine(responseFromServer); 
      reader.Close(); 
      webResponse.Close(); 

一旦你,你可以分析它的HTML来获取文件名

+0

顺便说一句,你需要添加“使用system.net;” – Esen 2012-08-09 20:08:48

+0

谢谢你的想法。我实际上考虑过这个问题,我不想在这个问题上声称。我们希望等同于DirectoryInfo.GetFiles()方法。如果没有,那么你的是唯一的解决方案。 – kubilay 2012-08-09 20:10:46

+2

顺便说一句,我只是碰到并发现http://stackoverflow.com/a/124522/1221319讨论相同。 – Esen 2012-08-09 20:14:44