Node.js connect to ftp and download files
I would advice you to try node-ftp
which supports ftps
too, Although node-ftps
does the same work, it lacks good documentation and examples.
Checkout here,
https://github.com/mscdex/node-ftp
To setup a connection and to access it features, All you need to do is to download a node wrapper called ftp-client
which is developed exclusively for the node-ftp
module.
You can install this wrapper by issuing the below command,
npm install ftp-client
To initialize it use the below command,
var ftpClient = require('ftp-client'),
client = new ftpClient(config, options);
And you can find a complete example code here which will walk you through how we can connect to a server, and simultaneously upload all files from the test
directory, overwriting only older files found on the server, and download files from /public_html/test directory
.
https://github.com/noodny/node-ftp-client#examples
Hope this helps!
I have recently tried node-ftp
and found that is has issues connecting to some newer servers. Particularly I had no ability to connect to a server version SSH-2.0-1.82_sshlib Globalscape
ssh2-sftp-client
worked for me. Pass a debug:yourDebugFunction
parameter in the connect options for good debugging output.
https://www.npmjs.com/package/ssh2-sftp-client
let sftp = new Client();
sftp.connect({
host: '127.0.0.1',
port: '8080',
username: 'username',
password: '******'
}).then(() => {
return sftp.list('/pathname');
}).then(data => {
console.log(data, 'the data info');
}).catch(err => {
console.log(err, 'catch error');
});```