我正在使用 Node.js 从远程服务器拉取文件。我希望能够在拉出文件路径时随时下载这些文件。我试过:
连接并拉取文件
var Client = require('ssh2-sftp-client');
var sftp = new Client();
var remotePathToList = '/archiveFiles/file.wav';
sftp.connect({
host: '*******',
port: '22',
username: '******',
password: '******'
}).then(() => {
res.download(remotePathToList);
}).catch((err) => {
console.log(err, 'catch error');
但我得到一个“ENOENT:没有这样的文件或目录,stat“C:'/archiveFiles/file.wav'”。但是我正在尝试从远程服务器而不是我的本地桌面下载这些文件。
最佳答案
查看您正在使用的库的文档 ssh2-sftp-client .有一个用于检索文件的 get
方法和一个示例 here .
下面是一个示例,它可能会适合您。
sftp.connect(config).then(() => {
sftp.get('/archiveFiles/file.wav').then((data) => {
var outFile = fs.createWriteStream('file.wav')
data.on('data',function(response) {
outFile.write(response);
});
data.on('close', function() {
outFile.close();
});
});
})
关于javascript - Node.js sftp 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47142824/