Загрузка резюме 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 ниже приведено определение метода: возобновление загрузки (java.io.File localFile, long localFileOffset)

Если вы используете localFileOffset, который будет (размер локального файла - размер удаленного файла), вы в конечном итоге потеряете данные.

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

Я несколько раз тестировал свой код, несколько раз останавливая и используя возобновление загрузки, и сравнивал исходный файл с загруженным файлом. Не было никакой разницы, и последняя загрузка возобновления завершилась в течение нескольких секунд, тем самым подтверждая, что она возобновляется с того места, где она была завершена, а не загрузка с нуля.

person Ani    schedule 13.05.2015