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

本文介绍如何自行搭建FTP服务器,并通过监听目录变化实时获取服务器上的图片资源,展示到前端界面上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 今天花了一天时间自己搭建了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、付费专栏及课程。

余额充值