今天花了一天时间自己搭建了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
}
}
});
});
}