Nitesh,
I think i'm doing what you are asking for with a combination of
storing the lastReply in the afterCommand() function and then using
that in the onUploadEnd() to see if the upload was successful or not.
There may be a cleaner way, i'd be happy to know about that.
Here's the sample code:
@Override
/** Override to store the last reply */
public FtpletResult afterCommand(FtpSession session, FtpRequest
request, FtpReply reply) throws FtpException, IOException {
lastReply = reply;
return super.afterCommand(session, request, reply);
}
@Override
public FtpletResult onUploadEnd(FtpSession session, FtpRequest
request) throws FtpException, IOException {
FtpFile nativeFile = (FtpFile)
session.getFileSystemView().getWorkingDirectory();
String uploadedFileName = request.getArgument();
// todo: on next Apache Ftpserver release, switch this to
lastReply.isPositive()
if (lastReply == null || lastReply.getCode() >= FTP_ERROR_REPLY_CODE) {
SLF4JLoggerProxy.error(this, "Received an error lastReply
{} for parent dir {} and file {}, there won't be real data, can't
process file.",
lastReply, nativeFile.getAbsolutePath(), uploadedFileName);
return FtpletResult.SKIP;
}
doStuffOnFileUpload(nativeFile, uploadedFileName);
return super.onUploadEnd(session, request);
}
On Thu, Sep 22, 2011 at 3:26 AM, Nitish Bangera
<[email protected]> wrote:
> Hello,
>
> Can we get a handle on broken uploads in Apache Ftpserver? By broken
> uploads, what i mean is while the user's data is getting transferred to the
> ftp server and he looses connection at his end, at that time i want to log
> this event. Is there a way to do it in Apache Ftpserver?
>
> --
> Regards,
> Nitish S. Bangera
>