Node.js module. It depends on the system's ftp command, and can supports active mode & passive mode
npm install --save-dev ftp-pushvar ftp = require("ftp-push");
var config = {
host: "127.0.0.1",
port: 21,
user: "anonymous",
password: "@anonymous",
localPath: __dirname,
remotePath: "/",
// passive mode
passive: true,
ftpCommand: 'ftp'
};
// promise style
ftp(config)
.then(() => console.log("upload success"))
.catch(err => console.log(err));
// callback style
ftp(config, (err) => {
if (err) {
console.log(err);
return;
}
console.log("upload success")
});