problem z idFTP

0

Witam. Mam procedurę, której celem jest połączenie się z ftp z danymi podanymi przeze mnie w kodzie, pobranie pliku jego modyfikacja i wgranie z powrotem na ftp.
Łączy się bez problemu z ftp jednak przy wywoływaniu GET i PUT zwraca mi błąd odpowiednio "Destination file already exists" i "I won't open a connection to 10.144.7.207 (only to 77.236.0.202)". Dlaczego tak się dzieje, co zrobić aby to działało? ;-( Ratujcie :-(

0

bo się pewnie źle łączysz. zarzuć prockę jak to robisz to się zobaczy.

0
Gladiatus napisał(a)

Witam. Mam procedurę, której celem jest połączenie się z ftp z danymi podanymi przeze mnie w kodzie, pobranie pliku jego modyfikacja i wgranie z powrotem na ftp.
Łączy się bez problemu z ftp jednak przy wywoływaniu GET i PUT zwraca mi błąd odpowiednio "Destination file already exists" i "I won't open a connection to 10.144.7.207 (only to 77.236.0.202)". Dlaczego tak się dzieje, co zrobić aby to działało? ;-( Ratujcie :-(

Ja na komponencie ustawilem dane do logowania przy pobieraniu robie to tak:

var
  stream_plik: TMemoryStream;
begin
FTP.Get('nazwa.rozszerzenie',stream_plik);
DeleteFile('nazwa.rozszerzenie');
stream_plik.SaveToFile('nazwa.rozszerzenie');
stream_plik.Free;
end;

Destination file already exists czasami wyskakuje gdy caly plik sie nie pobierze dlatego ja do tego uzywam memorystream. A co do polaczenia to roznie mozliwe ze cos masz nie tak z polaczeniem najlepiej postaw sobie serwer ftp na kompie (polecam prosty w obsludze filezilla) i przetestuj na tym pozniej sprobuj na swoim ftp. W moim przypadku musialem ustawic tryb pasywny oraz transfertype na ftbinary gdyz byl problem z pobraniem wiekszych plikow. Pokombinuj i wrzuc kod ktory napisales.

0

Jestes wielki :) działa. Zrobiłem po Twojemu i działać - dzięki serdeczne :)

var
    stream_plik: TMemoryStream;
begin
if idFTP.Connected then idFTP.Disconnect;
  idFTP.Passive:=False;
  idFTP.Connect();
  stream_plik:=TMemoryStream.Create;
  idFTP.Get('lista.txt',stream_plik);
  idFTP.Delete('lista.txt');
  stream_plik.SaveToFile(ExtractFilePath(Application.ExeName)+'data/lista.txt');
  stream_plik.Free;

  IdFTP.Disconnect;
end;

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