Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > IdFtp Upload с докачкой


Автор: gonzales 28.6.2011, 13:00
Приветствую, уважаемые форумчане!
Собственно САБЖ.

Может кто сталкивался с реализацией докачки при заливке файла на фтп. Делаю следующим образом

Код

IdFTP1.Put(form2.block_filename, 'block.pdf',resume);   //параметр resume отвечает как раз за докачку


если посмотреть код команды put
Код

procedure TIdFTP.Put(const ASource: TStream; const ADestFile: string = '';
 const AAppend: boolean = false);
begin
  if length(ADestFile) = 0 then begin
    InternalPut('STOU ' + ADestFile, ASource);  {Do not localize}
  end else if AAppend then begin
    InternalPut('APPE ' + ADestFile, ASource);  {Do not localize}
  end else begin
    InternalPut('STOR ' + ADestFile, ASource);  {Do not localize}
  end;
end;


то видно что команда APPE проходит, но я не вижу команды 'REST ' для установки позиции на последний бит файла.

Если же дописать ее руками
Код

    Quote('REST' +inttostr(Size(ADestFile));
    InternalPut('APPE ' + ADestFile, ASource);  {Do not localize}


то происходит следующее, файл целиком дописывается в конец недокаченного файла, а не дописывает недокаченный кусок.

Если кто сталкивался с подобным, подскажите, как быть


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)