我希望让用户直接从sftp服务器下载文件,但是在浏览器中。例如,用户想要找到名为“noise”的音频文件名,他们输入参数并显示要下载的按钮。我使用express作为我的Web应用程序框架以及ejs。
我找到了通过SFTP下载的方法,如下面的代码,但这是通过我的应用程序文件夹而不是用户的磁盘保存的。
sftp.connect(config).then(() => {
sftp.get('file.wav').then((data) => {
var outFile = fs.createWriteStream('file.wav')
data.on('data',function(response) {
outFile.write(response);
});
data.on('close', function() {
outFile.close();
});
});
})
如何通过按钮为他们提供选项,直接从sftp下载到用户的磁盘?
答案 0 :(得分:0)
您将流传输到res
。例如:
router.get('/download', (req, res) => {
sftp.connect(config).then(() => {
sftp.get('file.wav').then((data) => {
res.pipe(data)
})
})
})