使用Node.js SFTP客户端列出所有子目录的方法如下:
ssh2-sftp-client
库,可以通过以下命令进行安装:npm install ssh2-sftp-client
const { Client } = require('ssh2-sftp-client');
const sftp = new Client();
const config = {
host: 'your_sftp_host',
port: 'your_sftp_port',
username: 'your_sftp_username',
password: 'your_sftp_password'
};
sftp.connect(config)
.then(() => {
// 连接成功
})
.catch((err) => {
// 连接失败
console.error(err);
});
请替换your_sftp_host
、your_sftp_port
、your_sftp_username
和your_sftp_password
为你的SFTP服务器的实际信息。
list
方法获取指定目录下的所有文件和子目录:const remoteDir = '/path/to/remote/directory';
sftp.list(remoteDir)
.then((data) => {
// 获取到文件和子目录列表
console.log(data);
})
.catch((err) => {
// 获取失败
console.error(err);
});
请替换/path/to/remote/directory
为你要列出子目录的远程目录路径。
sftp.end();
完整的示例代码如下:
const { Client } = require('ssh2-sftp-client');
const sftp = new Client();
const config = {
host: 'your_sftp_host',
port: 'your_sftp_port',
username: 'your_sftp_username',
password: 'your_sftp_password'
};
sftp.connect(config)
.then(() => {
const remoteDir = '/path/to/remote/directory';
sftp.list(remoteDir)
.then((data) => {
console.log(data);
})
.catch((err) => {
console.error(err);
})
.finally(() => {
sftp.end();
});
})
.catch((err) => {
console.error(err);
});
这样,你就可以使用Node.js SFTP客户端列出指定目录下的所有子目录了。
领取专属 10元无门槛券
手把手带您无忧上云