110.12. 步骤更改目录

在消耗文件(例如下载)或生成文件(如上传)时,Camel FTP 可以在两种模式下操作。

  • 步骤范围
  • 没有分步

您可以根据您的情况和安全问题来选择其中之一。某些 Camel 最终用户仅在使用步骤范围时下载文件,而其他用户只能下载文件(如果未通过)。您至少可选择(从 Camel 2.6 开始)。

在 Camel 2.0 - 2.5 中,只有一个模式,即:

  • 在 2.5 之前
  • 2.5 步骤范围

现在,您可以用来控制行为的 选择步骤 是 Camel 2.6。

请注意,在大多数情况下,目录的分步更改将只在用户限制于其主目录以及主目录被报告为 "/" 时起作用。

两者之间的差别最好通过示例进行说明。假设我们在远程 FTP 服务器中有以下目录结构,我们需要遍历和下载文件:

/
/one
/one/two
/one/two/sub-a
/one/two/sub-b

并且每个子(a.txt)和子(b.txt)文件夹中都有一个文件。

110.12.1. 使用 stepwise=true (默认模式)

TYPE A
200 Type set to A
PWD
257 "/" is current directory.
CWD one
250 CWD successful. "/one" is current directory.
CWD two
250 CWD successful. "/one/two" is current directory.
SYST
215 UNIX emulated by FileZilla
PORT 127,0,0,1,17,94
200 Port command successful
LIST
150 Opening data channel for directory list.
226 Transfer OK
CWD sub-a
250 CWD successful. "/one/two/sub-a" is current directory.
PORT 127,0,0,1,17,95
200 Port command successful
LIST
150 Opening data channel for directory list.
226 Transfer OK
CDUP
200 CDUP successful. "/one/two" is current directory.
CWD sub-b
250 CWD successful. "/one/two/sub-b" is current directory.
PORT 127,0,0,1,17,96
200 Port command successful
LIST
150 Opening data channel for directory list.
226 Transfer OK
CDUP
200 CDUP successful. "/one/two" is current directory.
CWD /
250 CWD successful. "/" is current directory.
PWD
257 "/" is current directory.
CWD one
250 CWD successful. "/one" is current directory.
CWD two
250 CWD successful. "/one/two" is current directory.
PORT 127,0,0,1,17,97
200 Port command successful
RETR foo.txt
150 Opening data channel for file transfer.
226 Transfer OK
CWD /
250 CWD successful. "/" is current directory.
PWD
257 "/" is current directory.
CWD one
250 CWD successful. "/one" is current directory.
CWD two
250 CWD successful. "/one/two" is current directory.
CWD sub-a
250 CWD successful. "/one/two/sub-a" is current directory.
PORT 127,0,0,1,17,98
200 Port command successful
RETR a.txt
150 Opening data channel for file transfer.
226 Transfer OK
CWD /
250 CWD successful. "/" is current directory.
PWD
257 "/" is current directory.
CWD one
250 CWD successful. "/one" is current directory.
CWD two
250 CWD successful. "/one/two" is current directory.
CWD sub-b
250 CWD successful. "/one/two/sub-b" is current directory.
PORT 127,0,0,1,17,99
200 Port command successful
RETR b.txt
150 Opening data channel for file transfer.
226 Transfer OK
CWD /
250 CWD successful. "/" is current directory.
QUIT
221 Goodbye
disconnected.

当启用步骤步骤时,它会使用 CD xxx 遍历目录结构。