下载单个目录的多个文件

时间:2009-08-28 11:13:59

标签: c# http download

我有点迷失于单词atm所以我会尝试使用虚构的代码来解释我正在尝试做什么......

foreach file in http://host.com/directory1/directory2/
   download file

这有什么意义吗?我正在尝试从我的网站托管的Web服务器下载指定目录中的所有文件。我知道如何一次下载一个文件,但有数千个文件,我只想要一个文件夹中的每个文件。嗯......有人可以提供任何建议吗?

谢谢: - )

4 个答案:

答案 0 :(得分:2)

http协议(据我所知)没有任何文件列表命令(这就是为什么有FTP - 文件传输协议)。您可以使用FTP连接访问该目录吗?如果是这样,您可以使用FTP请求list the directory contentsdownload the files

答案 1 :(得分:0)

如果您只有http访问权限,而您无法控制服务器,那么......

您唯一的选择是使用一些RegEx来从http://host.com/directory1/directory2/的响应中发送的HTML中删除文件详细信息列表,这当然取决于服务器上启用的目录列表。

然后,您需要循环获取的文件名集并单独下载。

答案 2 :(得分:0)

我的主机不允许FTP或脚本或任何东西。但我确切地知道每个文件夹中有多少文件。

所以,我刚刚决定把它放在for循环中,一旦有适量的文件下载到我的硬盘上,那么我就会让自己脱离循环。谢谢大家的答案。

它可能不是理想的解决方案,但它似乎是唯一的解决方案。

答案 3 :(得分:-1)

我通常为这种情况做的是允许用户选择他们想要下载的所有文件。然后使用SharpZipLib将文件压缩到一个存档中,然后返回该文件。

在这种情况下,您可能希望限制最大文件大小,具体取决于您的数据的大小或可压缩程度。