我正在使用 ssh2-sftp-client 从远程服务器获取文件,一旦我得到()它们,我就会遇到读取和下载这些文件的问题。
起初,当 API 被命中时,我能够使用 get() 方法下载文件——我还可以在 console.log 语句中返回整个文件内容,然后它开始返回 Buffer 内容。我更新了这个:
npm install ssh2-sftp-client@3.1.0
现在我得到了一个 ReadbleStream。
function getFile(req,res) {
sftp.connect(config).then(() => {
return sftp.get(process.env.SFTP_PATH + '/../...xml',true);
}).then((stream)=>{
const outFile = fs.createWriteStream('...xml')
stream.on('data', (c) => {
console.log(`Received ${c.length} bytes of data.`);
outFile.write(c);
res.send('ok')
});
stream.on('close', function() {
});
}).catch((err) => {
console.log(err, 'catch error');
});
};
我有上面的代码返回一个流,但我不确定如何获取文件 - write() 方法似乎在这里不起作用。
任何关于如何使用这个库来阅读和下载文件的建议或建议将不胜感激