Качване на автобиография на Jscape

Имам въпрос относно метода за качване на автобиография, използван в com.jscape.inet.sftp.Sftp клас.

Според API, в метода по-долу вторият аргумент е localFileOffset.

resumeUpload(java.lang.String localFile, long localFileOffset)

Как се изчислява localFileOffset? Предполагам, че localFileOffset трябва да бъде точката, от която качването трябва да продължи, което е основно размерът на файла, който вече е качен в байтове.

Нещо като по-долу:

Boolean isRemoteFileAvailable = sftp.isValidPath(uploadDir + "/" + RemoteFileName);

if (isRemoteFileAvailable)
{
    remoteFileSize = sftp.getFilesize(rrFileName);
    localFileOffset = remoteFileSize;
}

person Ani    schedule 01.05.2015    source източник


Отговори (1)


След няколко удара и изпитания и няколко кръга на тестване, ето моето заключение.

Според API по-долу е дефиницията на метода: resumeUpload(java.io.File localFile, long localFileOffset)

Ако използвате localFileOffset, което ще бъде (размер на локален файл - размер на отдалечен файл), в крайна сметка губите данни.

Вторият аргумент определено не е отместване на локален файл, а е размер на отдалечен файл в байтове, който се изчислява като sftp.getFilesize(remoteFile);

Тествах кода си няколко пъти, като спрях и използвах възобновяване на качването няколко пъти и сравних оригиналния файл с качения файл. Нямаше разлика и последното възобновено качване завърши за секунди, като по този начин потвърди, че се възобновява от мястото, където е приключило, вместо да качва от нулата.

person Ani    schedule 13.05.2015