- Dynamic Pages (MyPage)
- Uploading files to the Server FTP.
This commit is contained in:
52
src/server/ftp/FTPClient.js
Normal file
52
src/server/ftp/FTPClient.js
Normal file
@@ -0,0 +1,52 @@
|
||||
'use strict';
|
||||
|
||||
const ftp = require('basic-ftp');
|
||||
|
||||
// const fs = require('fs');
|
||||
|
||||
class FTPClient {
|
||||
constructor(host = 'localhost', port = 21, username = 'anonymous', password = 'guest', secure = false, secureOptions = '') {
|
||||
this.client = new ftp.Client();
|
||||
// this.client.ftp.verbose = true;
|
||||
this.settings = {
|
||||
host: host,
|
||||
port: port,
|
||||
user: username,
|
||||
password: password,
|
||||
secure: secure,
|
||||
secureOptions: secureOptions
|
||||
};
|
||||
}
|
||||
|
||||
async upload(sourcePath, remotePath, permissions) {
|
||||
let self = this;
|
||||
try {
|
||||
let access = await self.client.access(self.settings);
|
||||
let upload = await self.client.uploadFrom(sourcePath, remotePath);
|
||||
// let permissions = await self.changePermissions(permissions.toString(), remotePath);
|
||||
self.client.close();
|
||||
return true;
|
||||
} catch (err) {
|
||||
console.log('upload ERR: ', err);
|
||||
self.client.close();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async createDir(miadir) {
|
||||
let access = await this.client.access(this.settings);
|
||||
await this.client.ensureDir(miadir);
|
||||
}
|
||||
|
||||
close() {
|
||||
this.client.close();
|
||||
}
|
||||
|
||||
changePermissions(perms, filepath) {
|
||||
let cmd = 'SITE CHMOD ' + perms + ' ' + filepath;
|
||||
return this.client.send(cmd, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module.exports = FTPClient;
|
||||
Reference in New Issue
Block a user