2016-08-13 98 views
1

我有一个web应用程序,它在按钮上单击调用REST API,它可以获取ftp服务器中可用的文件列表,并在文件名中使用超链接显示div,如下所示。从nodejs中的ftp服务器下载文件

为此,我使用jsftp模块。

ftp.ls(".", function(err, res) { 
    res.forEach(function(file) { 
    console.log(file.name); 
    //logic to display in div 
}); 
}); 

我还有一个REST API从FTP服务器下载文件,该文件调用的名称点击出现在DIV文件,但它是在本地目录中下载了其中的Web应用程序在用户系统与下面的代码部署和不是,但我想当用户点击文件名时,该文件应该在用户系统或计算机中下载。我如何才能做到这一点。

ftp.get('remote/file.txt', 'local/file.txt', function(hadErr) { 
if (hadErr) 
    console.error('There was an error retrieving the file.'); 
else 
    console.log('File copied successfully!'); 
}); 

回答

1

现在该文件在您的机器上,您将希望实际上将文件传输到客户端,当他们点击链接时。使用res.write类似:res.write(file, 'binary');

这里有,你会发现一些有用的概念:Node.js send file to client

+0

谢谢你的建议,解决我的问题。我只是使用res.download(路径); – ppb

相关问题