Appearance
informat.sftp SFTP相关
概述
使用informat.sftp
实现sftp客户端相关功能。
createClient
初始化sftp客户端实例
javascript
informat.sftp.createClient()
返回值 类型为SftpClient
SftpClient
login
账号密码登录sftp服务器
js
client.login(username,password,host,port)
参数 | 类型 | 描述 |
---|---|---|
username | String | 用户名 |
password | String | 密码 |
host | String | sftp服务器主机 |
port | Integer | sftp服务器端口 |
loginWithPrivateKey
私钥登录sftp服务器
js
client.loginWithPrivateKey(username,privateKey,host,port)
参数 | 类型 | 描述 |
---|---|---|
username | String | 用户名 |
privateKey | String | 私钥 |
host | String | sftp服务器主机 |
port | int | sftp服务器端口 |
logout
登出
js
client.logout()
cd
用于改变当前工作目录
js
client.cd(path)
参数 | 类型 | 描述 |
---|---|---|
path | String | 指定要更改到的目录的路径 |
put
上传文件到 SFTP 服务器
js
client.put(localPath, dst)
参数 | 类型 | 描述 |
---|---|---|
localPath | String | 上传的app沙盒环境文件的路径 |
remotePath | String | SFTP服务器上的文件路径 |
put
上传文件到 SFTP 服务器
js
client.put(localPath, dst, mode)
参数 | 类型 | 描述 |
---|---|---|
localPath | String | 上传的app沙盒环境文件的路径 |
remotePath | String | SFTP服务器上的文件路径 |
mode | int | 模式,可选值如下: 0:目标文件已存在,它将被覆盖。这是默认模式 1:如果传输被中断,传输将从上次中断的地方继续,而不是重新开始 2:如果目标文件已存在,上传的数据将追加到文件的末尾 |
downloadFile
从SFTP服务器下载指定文件到本地app沙盒环境
js
client.downloadFile(remotePath, localPath)
参数 | 类型 | 描述 |
---|---|---|
remotePath | String | 远程文件路径 |
localPath | String | 本地app沙盒环境路径 |
ls
列出 SFTP 服务器上指定目录中的文件和目录
js
client.ls(path)
参数 | 类型 | 描述 |
---|---|---|
path | String | 列出内容的远程目录的路径 |
返回值 类型为Array<SftpFile>
返回文件列表
mkdir
在 SFTP 服务器上创建一个新目录
js
client.mkdir(path)
参数 | 类型 | 描述 |
---|---|---|
path | String | 创建的新目录的路径 |
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();
}
}