Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 使用节点js从ftp站点下载多个文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从根文件夹下载ftp服务器上的每个文件.
我做的是这个 –

ftpClient.ls(".",function(err,res) {
      res.forEach(function(filE) {
          console.log(file.@R_801_8313@;

            ftpClient.get("./"+file.name,'D:/styleinc/ftp/'+file.name,function(hadErr) {
                if (hadErr)
                  console.log(hadErr);
                else
                  console.log('File copied successfully!');

      });
    });

但在运行时它给我错误

{ [Error: connect ECONNREFUSED]
   code: 'ECONNREFUSED',errno: 'ECONNREFUSED',syscall: 'connect',msg: 'Probably trying a PASV operation while one is in progress' 
  }

已经成功登录并在ftp网站上验证了自己的身份…..
我不知道该怎么办请指导我.

解决方法

这是我与async.mapLimit一起使用的代码块,使它只能同时使用一个连接.

'use Strict'

var JSFtp = require('jsftp');
var inspect = require('util').inspect;
var fs = require('fs');
var async = require('async');

var ftp = new JSFtp(require('./util/ftp'))
var local = 'EDI/mohawk/OUTBox/'
var remote = 'OUTBox'

var gatherFiles = function(dir){
  return new Promise(function(resolve,reject){
    ftp.ls(dir + '/*',res) {
      if (err) reject(err)
      console.log(res)
      var files = [];
      res.forEach(function(filE){
        files.push(file.@R_801_8313@
      });
      resolve(files)
    })
  })
}

gatherFiles(remotE).then(function(files){
  console.log(files)
  async.mapLimit(files,1,function(file,callBACk){
    console.log('attempTing: ' +remote + file + '->' + local + filE)
    ftp.get(remote +'/'+ file,local +'/'+ file,function(err){
      if(err){
        console.log('Error getTing ' + filE)
        callBACk(err)
      }else{
        console.log('Got ' + filE)
        callBACk()
      }

    })
  },res){
    if(err){
      console.log(err)
    }
    console.log('updates complete' + res)   
  })
})

大佬总结

以上是大佬教程为你收集整理的node.js – 使用节点js从ftp站点下载多个文件全部内容,希望文章能够帮你解决node.js – 使用节点js从ftp站点下载多个文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。