我正在尝试使用Node中的SFTP下载一些文件。我知道我必须处理流,但我不知道该怎么做并将文件保存在本地机器中(在下载文件夹中)。
app.get('/download', (req, res) => {
var Client = require('ssh2-sftp-client');
var sftp = new Client();
var config = {
host: 'host123',
port: '22',
username: 'username',
password: 'secretpassword'
};
sftp.connect(config).then((data) => {
res.download(data);
});
});
谢谢!
答案 0 :(得分:-1)
参考Download a file from NodeJS Server using Express
sftp.connect允许您传输数据。你可以将它传递给响应
app.get('/download', (req, res) => {
var Client = require('ssh2-sftp-client');
var sftp = new Client();
var config = {
host: 'host123',
port: '22',
username: 'username',
password: 'secretpassword'
};
sftp.connect(config)
.then(()=>{
return sftp.get(remoteFilePath, [useCompression], [encoding]);
})
.then((data) => {
fs.createWriteStream(data).pipe(res);
});
});