如何从web目录获取文件列表?如果我访问web目录URL,internet浏览器会列出该目录中的所有文件。现在我只想以C#格式获取该列表,并以BITS (后台智能传输服务)格式下载它们。
发布于 2009-10-20 00:48:28
关于“在C#中获取列表”部分:
foreach (string filename in
Directory.GetFiles(
Server.MapPath("/"), "*.jpg",
SearchOption.AllDirectories))
{
Response.Write(
String.Format("{0}<br />",
Server.HtmlEncode(filename)));
}发布于 2009-10-19 23:56:12
这是我最近研究的一个有趣的话题。正如你所知道的,你可以通过COM访问BITS,但这里有几个项目可以让它变得更容易:
Forms Designer Friendly Background Intelligent Transfer Service (BITS) wrapper
这个article on MSDN可能比你想知道的要多一点。
我对CodeProject链接中的代码进行了实验,它似乎工作得相当好。CodePlex项目看起来真的很不错,但我还没有尝试过。
发布于 2009-10-26 01:45:45
好吧,如果Web服务器允许列出有问题的目录中的文件,那么您就可以使用了。
不幸的是,web服务器如何返回列表并没有标准。它通常是HTML格式的,但HTML在多个web服务器上的格式并不总是相同。
如果你想总是从同一个web服务器上的同一个目录下载文件,只需在你的web浏览器中的目录中执行一个"view source“。然后尝试编写一个小的正则表达式,它将从HTML源文件中获取每个文件名。
然后,您可以创建一个WebClient,请求目录URL,解析响应以使用正则表达式获取文件名,然后使用BITS客户端处理这些文件
希望这能有所帮助
https://stackoverflow.com/questions/1591747
复制相似问题