Wielu z was zadaje to pytanie : jak wznowic pobieranie ?

0

Witam przeszukałem całe forum oraz 15 stron z wynikiem idHTTP. A wiec sytuacja wygląda tak, mam sobie komponent idhttp, teraz chce cos pobrac jakis pliczek neich to bedzie rar np.
idhttp.get('http://www.cos.pl/plik.rar',plik) gdzie plik jest zmienna TMemoryStream, elgancko sie pobiera i zapsiuje, ale problem nastpuje wtedy gdy plik jest wiekszy a moje loncze neipozwala mi na pobranie go na raz bo zajelo by to dluzej. Plik zajmuje 106 MB, pobieram i przy[psucmy koncze pobieranie na 30 MB, teraz jak zaczac pobierani od tego miejsca ? czyli przypsiac zmienej AWorkCount := DoPobrania(106 mb - aktual) ?? zle sie wyrazilem ale chodzi o to ze che pobierac od tego meisjca co skonczylem.

Wiem wiem kazdy napszie ze gdziesz to w necie jest, ale uwiezcie szukalem i nietylko ja, czy to jest naprade takie trudne ?? Prosze was o pomoc :(

Dodam jeszcze ze moze pokombinowac z tym multiPArtData mzoe to cos da ??

Pomózcie prosze :( ??

0

przed wysłaniem do procedury ściągnięcia pliku z serwera - musisz sprawdzić rozmiary plików.
Tego na dysku jeśli już istnieje w jakiejś tam części.. i tego na serwerze
Jesli jest róznica w wilkościach, to ustawiasz odpowiednie opcje w instrukcji
np:

IdFTP_pliki.Get(docelowy,zrodlowy,False);          //zapisuje od nowa gdy nie masz pliku
IdFTP_pliki.Get(docelowy,zrodlowy, False, True); //dociąga częsciowo zapisany plik
IdFTP_pliki.Get(docelowy,zrodlowy.FileName,True); //podmienia plik gdy na serwerze jest mniejszy niż na dysku.

w tej instrukcji z podmianką radziłbym w ogóle w tym przypdku usunąc plik z dysku i pobrać nowy, ponieważ spotkałem się z tym ze lubią wyskakiwać błedy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0