org.apache.commons.net.ftpFTPClient, file will not be totally transferred.
--------------------------------------------------------------------------

                 Key: NET-417
                 URL: https://issues.apache.org/jira/browse/NET-417
             Project: Commons Net
          Issue Type: Bug
          Components: FTP
    Affects Versions: 3.0.1
         Environment: Windows XP FTPClient program sending file to Windows 2003 
IIS FTP Server
            Reporter: tom yang


If I use this ftp.storeFile(f.getName(), stream)  to transfer file to the FTP 
Server. After the function returned the file will be partially sent. 
E.g. If the file has 1025 bytes, only 1024 bytes will be sent while if the file 
has 2050 bytes, only 2048 bytes will be sent.
That's because the default buffer size is 1024, each time 1024 bytes of file 
content will be sent to the FTP server. But stream.flush() is not called at the 
end of each transfer. Finally, socket stream to FTP server will be closed 
before the 
last transmission and the last frame of data, which may be less than 1024, will 
be left unsent.

My way of fixing this BUG: Change the content of method 
FtpClient.__storeFile(), change the last parameter for calling 
Util.copyStream() to 'true'.


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to