Skip to content

informat.ftp FTP相关 ​

概述 ​

使用informat.ftp实现ftp客户端相关功能。

createClient ​

初始化ftp客户端实例

javascript
informat.ftp.createClient()

返回值 类型为FtpClient

FtpClient ​

connect ​

建立与 FTP 服务器的连接

js
client.connect(host, port)
参数类型描述
hostStringftp服务器主机
portIntegerftp服务器端口

示例

js
client.connect('127.0.0.1', 21)

login ​

账号密码登录ftp服务器

js
client.login(username, password)
参数类型描述
usernameString用户名
passwordString密码

返回值

类型为Boolean 返回是否登录成功

示例

js
client.login('ftpuser', '123456')

printWorkingDirectory ​

返回当前的工作目录路径

js
client.printWorkingDirectory()

返回值

类型为String 返回当前的工作目录路径

changeToParentDirectory ​

改变当前工作目录到其父目录

js
client.changeToParentDirectory()

返回值

类型为Boolean 返回是否改变当前工作目录到其父目录成功

changeWorkingDirectory ​

改变当前连接的 FTP 服务器的工作目录

js
client.changeWorkingDirectory(path)
参数类型描述
pathString指定要更改到的目录的路径

返回值

类型为Boolean 返回是否改变工作目录成功

示例

js
client.changeWorkingDirectory('/')

uploadFile ​

上传文件到 FTP 服务器

js
client.uploadFile(localPath, remotePath)
参数类型描述
localPathString上传的app沙盒环境文件的路径
remotePathStringFTP服务器的文件路径

返回值

类型为Boolean 返回是否上传成功

示例

js
client.uploadFile('demo.png', 'test/demo.png');

downloadFile ​

从FTP服务器下载指定文件到本地app沙盒环境

js
client.downloadFile(remotePath, localPath)
参数类型描述
remotePathString远程文件路径
localPathString本地app沙盒环境文件路径

返回值

类型为Boolean 返回是否下载成功

示例

js
client.downloadFile("test/demo.png", "ftp/demo.png");

makeDirectory ​

在FTP服务器创建文件夹

js
client.makeDirectory(path)
参数类型描述
pathString远程文件夹路径

返回值

类型为Boolean 返回是否创建成功

示例

js
client.makeDirectory('test');

listFiles ​

列出 FTP 服务器上当前工作目录下的文件和目录

js
client.listFiles()

返回值

类型为Array<FtpFile> 返回文件列表

如果返回为空,且目录下有文件则需要设置被动传输模式

js
let client = null;
try {
    // 创建连接
    client = informat.ftp.createClient();
    client.connect('127.0.0.1', 21);
    // 登录
    let login = client.login('ftpuser', '123456');
    console.log('login:', login);
    // 获取当前路径
    console.log(client.printWorkingDirectory());
    // 开启被动传输模式
    client.getFtpClient().enterLocalPassiveMode(); 
    // 获取当前目录下的文件和目录
    let files = client.listFiles();
    files.forEach(f => {
        console.log(f);
        console.log(f.getGroup()); // 文件群组
        console.log(f.getName()); // 文件名称
        console.log(f.getSize()); // 文件大小
        console.log(f.isDirectory()); // 是否文件夹
        console.log(f.isFile()); // 是否文件
    })

} finally {
    if (client != null) {
        // 关闭连接
        client.disconnect();
    }
}

disconnect ​

关闭与 FTP 服务器的连接

js
client.disconnect()

完整示例

js
let client = null;
try {
    // 创建连接
    client = informat.ftp.createClient();
    client.connect('127.0.0.1', 21);
    // 登录
    let login = client.login('ftpuser', '123456');
    console.log('login:', login);
    // 获取当前路径
    console.log(client.printWorkingDirectory());
    // 获取当前目录下的文件和目录
    let files = client.listFiles();
    files.forEach(f => {
        console.log(f);
        console.log(f.getGroup()); // 文件群组
        console.log(f.getName()); // 文件名称
        console.log(f.getSize()); // 文件大小
        console.log(f.isDirectory()); // 是否文件夹
        console.log(f.isFile()); // 是否文件
    })
    // 创建目录
    client.makeDirectory('test');
    // 上传文件
    var ret = client.uploadFile('demo.png', 'test/demo.png');
    console.log('uploadFile ret:', ret)
    // 下载文件
    ret = client.downloadFile("test/demo.png", "ftp/demo.png");
    console.log('downloadFile ret:', ret)
} finally {
    if (client != null) {
        // 关闭连接
        client.disconnect();
    }
}