代码之家  ›  专栏  ›  技术社区  ›  user3541092

.NET FtpWebRequest NLST未列出目录-但LIST会

  •  0
  • user3541092  · 技术社区  · 8 年前

    FTP根目录:

    My File 1.txt
    Your File 2.txt
    Random File 3.txt
    Another Random File 4.txt
    Folder1
    Folder 2
    My Folder 3
    Your Folder 4
    

    Net.WebRequestMethods.Ftp。ListDirectory结果:

    My File 1.txt
    Your File 2.txt
    Random File 3.txt
    Another Random File 4.txt
    

    WebRequestMethods.Ftp。ListDirectoryDetails结果:

    drwxrwxrwx   1 user     group           0 Mar 22 11:32 Folder1
    drwxrwxrwx   1 user     group           0 Mar 22 11:33 Folder 2
    drwxrwxrwx   1 user     group           0 Mar 22 11:33 My Folder 3
    drwxrwxrwx   1 user     group           0 Mar 22 11:33 Your Folder 4
    -rw-rw-rw-   1 user     group    234003230 Mar 22 14:12 My File 1.txt
    -rw-rw-rw-   1 user     group    234003230 Mar 22 14:12 Your File 2.txt
    -rw-rw-rw-   1 user     group    234003230 Mar 22 14:12 Random File 3.txt
    -rw-rw-rw-   1 user     group    234003230 Mar 22 14:12 Another Random File 4.txt
    

    通常情况下 NSLT 为我提供了所有内容(包括文件夹)的列表。

    这个 NLST 只给我文件夹/文件名,便于从 LIST 后果

    我可以提供代码示例。然而,这可能是FTP设置。只是不知道该去哪里看看。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Martin Prikryl    4 年前

    事实上,有些FTP服务器确实只在 NLST 列表,例如HPUX ftpd .

    原因是 NLST公司 由命令行使用 ftp 客户端实现 mget 命令典型的 mget公司 实现不能递归地下载文件(它实际上无法分辨特定的“名称”是目录还是文件)。所以 mget公司 如果它在列表中获得一个目录,则失败。

    虽然该行为在服务器端是可配置的,但在客户端上没有标准的控制方式。