nodejs获取ftp服务器上的全部文件并监听目录变化

 今天花了一天时间自己搭建了ftp服务器,并在后台成功获取自己ftp服务器上的图片并实时返回给前端界面显示

var ftp = require( 'ftp'),

ftp = new ftp(),

fs = require( 'fs'),
 
watch = require( 'watch') //用来监听目录变化



//当ftp连接成功时触发

ftp. on( 'ready', function(){

getlist( '.') //可根据自己情况填写ftp服务器上的文件路径,我要获取的是ftp的根目录下的所有文件
    
   watch. createMonitor( '/xx/xxx', monitor => {
monitor. on( "created", function ( f, stat) {
console. log( 'created')
console.log(f)
})
})


});

ftp. connect({

host: '***.***.**.**', //自己ftp服务器地址

user: '*****',

password: '******'

});

//查找文件

function getlist( path){

//罗列出该文件夹内的文件列表

ftp. list( path, function( err, list){

if( err) throw err;

list. forEach( function( item){

if( item. type=== 'd'){
//文件夹其实是一种特殊的文件,因此这里还存在两个「文件夹」:'.'和'..',但我们对它们不做处理
if( item. name=== '.') return;
if( item. name=== '..') return;
//然后,历遍一下这个文件夹
getlist( path+ '/'+ item. name);

} else{
if( item. size/ 1024 > 100 ){
return
} else{
let picPath = path+ '/'+ item. name
picPath = picPath. substring( 1)
picPath = 'ftp://***.***.**.**'+ picPath
console. log( picPath)
return picPath
}
}

});
});

}

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值