我正在尝试通过 SFTP 将文件和文件夹下载到我的本地计算机。我正在使用以下代码,并且能够下载特定目录中的文件,但无法下载文件夹(递归地使用它们各自的文件和文件夹)同一目录
const folderDir=moment().format('MMM YYYY/D');
const remoteDir = '/var/www/html/view';
const remoteDir = 'Backup';
const download=(remoteDir,folderDir,FolderName)=>{
conn.on('ready', function() {
conn.sftp((err, sftp) => {
if (err) throw err;
sftp.readdir(remoteDir, (err, list) => {
if (err) throw err;
let count = list.length;
list.forEach(item => {
let remoteFile = remoteDir + '/' + item.filename;
var localFile = 'C:/Users/Desktop/'+folderDir+'/'+FolderName+'/' + item.filename;
//console.log('Downloading ' + remoteFile);
sftp.fastGet(remoteFile, localFile, (err) => {
if (err) throw err;
//console.log('Downloaded to ' + localFile);
count--;
if (count <= 0) {
conn.end();
}
});
});
});
});
}).connect({
host: '0.0.0.0',
port: 0,
username: 'test',
privateKey: require('fs').readFileSync('')
});
}