我有点迷失于单词atm所以我会尝试使用虚构的代码来解释我正在尝试做什么......
foreach file in http://host.com/directory1/directory2/
download file
这有什么意义吗?我正在尝试从我的网站托管的Web服务器下载指定目录中的所有文件。我知道如何一次下载一个文件,但有数千个文件,我只想要一个文件夹中的每个文件。嗯......有人可以提供任何建议吗?
谢谢: - )
答案 0 :(得分:2)
http协议(据我所知)没有任何文件列表命令(这就是为什么有FTP - 文件传输协议)。您可以使用FTP连接访问该目录吗?如果是这样,您可以使用FTP请求list the directory contents和download the files。
答案 1 :(得分:0)
如果您只有http访问权限,而您无法控制服务器,那么......
您唯一的选择是使用一些RegEx来从http://host.com/directory1/directory2/
的响应中发送的HTML中删除文件详细信息列表,这当然取决于服务器上启用的目录列表。
然后,您需要循环获取的文件名集并单独下载。
答案 2 :(得分:0)
我的主机不允许FTP或脚本或任何东西。但我确切地知道每个文件夹中有多少文件。
所以,我刚刚决定把它放在for循环中,一旦有适量的文件下载到我的硬盘上,那么我就会让自己脱离循环。谢谢大家的答案。
它可能不是理想的解决方案,但它似乎是唯一的解决方案。
答案 3 :(得分:-1)
我通常为这种情况做的是允许用户选择他们想要下载的所有文件。然后使用SharpZipLib将文件压缩到一个存档中,然后返回该文件。
在这种情况下,您可能希望限制最大文件大小,具体取决于您的数据的大小或可压缩程度。