javascript node ftp client // 插件地址,详细看下方法和参数:// https://github.com/mscdex/node-ftp// 导入包let Client = require('ftp');let fs = require('fs');// 配置信息,可以由java生成let config = { "host":"192.1
// 插件地址,详细看下方法和参数:
// https://github.com/mscdex/node-ftp
// 导入包
let Client = require('ftp');
let fs = require('fs');
// 配置信息,可以由java生成
let config = {
"host":"192.168.0.190",
"port":21,
"user":"www",
"password":"www"
};
// 创建一个ftp客户端对象
let c = new Client();
c.on('ready', function() {
// 获取文件列表
c.list(function(err, list) {
if (err) throw err;
console.dir(list);
c.end();
});
// 下载一个文件
// 在stream中可以获取进度,见stream.on data
c.get('cdms/004.jpg', function(err, stream) {
if (err) throw err;
// buffer为获取的缓冲区块
let progress = 0
stream.on('data', buffer => {
progress += buffer.length
// 这里可以计算下百分比,我这里直接输出大小了
console.log(progress);
})
stream.once('close', function() { c.end(); });
stream.pipe(fs.createWriteStream('004.jpg'));
});
// 上传一个文件
// 直接指定一个文件路径,无法获取进度
// 要获取进度需要用到Readable,参考上面get写法
// Readable对应于Java中的InputStream和Reader两个类
c.put('004.jpg', 'cdms/new.jpg', function(err) {
if (err) throw err;
c.end();
});
});
// 开始连接
c.connect(config);
