我正在使用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'“。但我试图从远程服务器而不是本地桌面下载这些文件。
答案 0 :(得分:1)
查看您正在使用的库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();
});
});
})