首先我问:ftp 目录列表超时。大量子目录 https://stackoverflow.com/questions/9230485/ftp-directory-listing-timeout-huge-number-of-subdirs。我得到了答案。
尽管如此,因为目录中可能有数十万个 FTP 对象,所以扫描它可能需要很长时间。不过,我认为可能检索以“A”开头,然后是“B”等的所有对象...当它检索目录时,它可以开始在另一个线程上处理它们,而无需等到它获取整个列表。
是否可以使用标准的通配符进行 FTP 目录列表FtpWebRequest
?
最新更新FTP 规范 (RFC 3659) https://www.rfc-editor.org/rfc/rfc3659#section-7明确禁止。从该规范第 2.2.2 节,标题为“通配符” https://www.rfc-editor.org/rfc/rfc3659#page-6(强调我的):
对于本规范中定义的命令,所有路径名都是
按字面意思对待。也就是说,对于作为参数给出的路径名
一个命令,其名称与给定路径名相同的文件是
默示。路径名中的任何字符都不能被视为特殊或
“神奇”,因此没有模式匹配(除了完全相等)
给定的路径名与 NVFS 中存在的文件之间
允许服务器 FTP。
需要某种形式的图案的客户
匹配功能必须获得相关的列表
一个或多个目录,并实现自己的文件名
选择程序。
也就是说,如果您的服务器支持它,您仍然可以使用FtpWebRequest class http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx,但您必须自己处理响应才能处理项目列表,因为 .NET 类无法理解您的服务器特定扩展。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)