我有以下问题:
我们正在将文件发送到 FTP。自从我们发送小于 5 MB 的文件以来,我们没有遇到任何问题。如果文件大小大于 5 MB,则会出现异常结束(异常结束),得到 this error :
为了“解决”这个问题,我们应该在将文件发送到 FTP 之前分配空间,执行如下操作:
QUOTE SITE BLOCKSIZE=0 LRECL=256 WRAP UNIT=DISK RECFM=VB PRI=50 SEC=50 CYL
目前,我正在使用 DefaultFtpSessionFactory
和 FileTransferringMessageHandler
来将文件发送到 FTP(显然,除非文件 > 5 MB,否则它工作得很好)。
我的问题是:有没有办法使用 Spring 解决这个问题?
最佳答案
我没有尝试过,但是看看。您可以扩展 DefaultFtpSessionFactory
并覆盖其 postProcessClientAfterConnect()
。
然后你可以尝试执行
FtpClient.sendSiteCommand("QUOTE");
FtpClient.sendSiteCommand("SITE");
FtpClient.sendSiteCommand("BLOCKSIZE=0");
FtpClient.sendSiteCommand("LRECL=256");
依此类推,直到命令结束。
您可以查看here还有。
关于java - Spring 集成: Allocate Space when sending file to FTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44336977/