我使用org.apache.commons.net.ftp.FTPClient时遇到了一些问题。 这是我的代码:
if (!FTPReply.isPositiveCompletion(reply)) {
logger.debug("Fehler beim FTP verbindungsaufbau " + reply);
}
FileInputStream fis = new FileInputStream(ziel);
logger.info("....uploading...");
ftpClient.storeFile(cntKen + dateiEndung, fis);
fis.close();
logger.info("....Done!");
与FTP服务器的连接没问题,但是当我尝试将文件上传到此FTP服务器时,收到FTP response 421 received
错误消息。
使用ftpClient.storeFile(cntKen + dateiEndung, fis)
行。
相同的代码正在与其他FTP服务器一起使用,所以我不确定,这是代码的问题还是ftp服务器本身的一些配置。
有什么想法吗?
编辑:我读了更多信息。当服务器同时只允许1个连接时,错误接缝将会出现。 也许lib有多个连接?
答案 0 :(得分:1)
解决方案非常简单。错误意味着,由于某种原因,ftp服务器因连接而断开连接。因此,与ftp服务器的连接有效,但在上传文件之前,连接丢失了。在这种情况下,因为连接和上传之间的时间是5分钟。 FTP服务器配置为在2分钟后断开空闲连接。如果您遇到相同的问题,断开连接可能还有其他一些原因。但实际上ftp连接丢失了,使用.storeFile(或ftp)没有响应没有连接,但是421错误代码
两种解决方法: 1. prevered:优化软件。检查ftp连接是否有效,然后关闭连接。在上传前面再次打开它。 2.更改FTP设置以将空闲连接断开连接到更高的值