我正在尝试使用node.js node-ftp模块将几个文件上传到ftp,我有几个文件要上传,其中一些是音频和图像文件,一个是XML文件,我可以成功上传所有图像和音频文件但是当我尝试上传XML文件比它给我的错误如下:
{ [Error: read ECONNRESET] code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' }
我已将NODE_DEBUG = net设置为调试套接字调用。我也尝试实现longjohn,但它也给ECONNRESET的日志而不是更多的信息,我也尝试使用jsftp,但我仍然得到相同的错误。我不知道为什么会出现这个错误。下面是我用来将XML文件上传到服务器的代码
c.put('temp.xml','drop/metadata.xml',true, function(err)
{
console.log(err);
if (err)
{
console.log('Inside error');
console.log(err);
throw err;
}
console.log('upload successfully');
});
您可以尝试在Ftp init步骤后使用keepAlive:
var Ftp = new JSFtp({
host: config.get("ftpDownloader:host"),
port: config.get("ftpDownloader:port"), // defaults to 21
user: config.get("ftpDownloader:user"), // defaults to "anonymous"
pass: config.get("ftpDownloader:pass"), // defaults to "@anonymous"
debugMode: false
});
Ftp.keepAlive();
//.. do Ftp.get.. or Ftp.ls.. methods