# 自我下载

使用 [自我下载] 操作从 FTP 服务器获取 BML 文件 (用于文件系统传输) 并将其传输到人机界面。

##### 块

##### 文本

selfDownload($Enum.Server.FTP, 1, SERVER_PATH);
1 2 3

1: 服务器类型

2: Connect ID

3: Path

服务器类型 | 仅 [FTP] 选项可用。
[Connect ID] | 要连接的服务器的连接 ID，以整数形式表示。 注： 连接 ID 必须是 [工程浏览器] 窗口中 [FTP 连接] 字段中设置的 ID。
[Path] | 指定服务器上 BML 文件和文件夹的路径。 (示例) /Data1/package.BML 注： 支持绝对路径 (/Data1/package.BML) 和相对路径 (Data1/package.BML)。 可以省略文件名。如果省略了文件名，运行时将如同指定了 "package.BML” 一样运行。 最多可指定 256 个字符。省略的文件名包含在总字符数中。 支持除 :;|,?”<> 以外的单字节字母数字字符和符号。 出于安全原因，不支持使用 “../” 向上移动一级。 是否区分大小写取决于 FTP 服务器。

注：

- 完成传输准备后，运行时进程启动自终止序列，并将控制权移交给传输进程。如果其他进程仍在运行，运行时会等待它们完成。如果它们在 25 秒内没有终止，则强制终止每个剩余进程，并启动传输进程。
- 在下载用于文件系统传输的文件时，请勿断开与 FTP 服务器的连接。
- 不能同时执行多个[自我下载]操作。
- 如果 BML 文件超过 1 GB，[自我下载] 操作将不起作用。

(示例)

如果想要将 package.BML 文件从 FTP 连接 ID 为 1 的 FTP 服务器上的文件夹 /Data1/ 下载到人机界面，请设置以下脚本。

##### 块

##### 文本

selfDownload($Enum.Server.FTP, 1, “/Data1/package.BML”);