Skip to content

informat.sftp SFTP相关

概述

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


createClient

初始化sftp客户端实例

javascript
informat.sftp.createClient()

返回值 类型为SftpClient

SftpClient

login

账号密码登录sftp服务器

js
client.login(username,password,host,port)
参数类型描述
usernameString用户名
passwordString密码
hostStringsftp服务器主机
portIntegersftp服务器端口

loginWithPrivateKey

私钥登录sftp服务器

js
client.loginWithPrivateKey(username,privateKey,host,port)
参数类型描述
usernameString用户名
privateKeyString私钥
hostStringsftp服务器主机
portintsftp服务器端口

logout

登出

js
client.logout()

cd

用于改变当前工作目录

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

put

上传文件到 SFTP 服务器

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

put

上传文件到 SFTP 服务器

js
client.put(localPath, dst, mode)
参数类型描述
localPathString上传的app沙盒环境文件的路径
remotePathStringSFTP服务器上的文件路径
modeint模式,可选值如下:
0:目标文件已存在,它将被覆盖。这是默认模式
1:如果传输被中断,传输将从上次中断的地方继续,而不是重新开始
2:如果目标文件已存在,上传的数据将追加到文件的末尾

downloadFile

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

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

ls

列出 SFTP 服务器上指定目录中的文件和目录

js
client.ls(path)
参数类型描述
pathString列出内容的远程目录的路径

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

mkdir

在 SFTP 服务器上创建一个新目录

js
client.mkdir(path)
参数类型描述
pathString创建的新目录的路径

pwd

获取当前在 SFTP 会话中的工作目录

js
client.pwd()

返回值 类型为String 返回当前在 SFTP 会话中的工作目录

disconnect

结束与远程 SSH 服务器的会话。

js
client.disconnect()

对于防止网络资源和文件描述符泄漏至关重要。如果不调用此方法,可能会导致长期运行的应用程序累积未关闭的连接,进而影响性能或导致资源耗尽。

以下是一个完整的例子

js
var host = "192.168.1.120";
var port = 22;
var userName = "sftpuser";
var password = "123456";
var client=null;
try{
    client=informat.sftp.createClient();
    client.login(userName, password, host, port);
    console.log(client.pwd())
    client.mkdir('test/d');
    client.put("logo.jpg", 'test/d/logo.jpg');//注意 需要先上传一个文件到app沙盒环境
    client.downloadFile("test/d/logo.jpg", "sftp/logo.jpg");
}finally{
    if (client!= null) {
        client.disconnect();
    }
}