Hallo,
hab hier ein komisches Verhalten beim
FTP Upload von einem zip, knapp 4MB
Test 1 mit TidFTP Komponente:
Delphi-Quellcode:
FTP.Host := '
hostadresse';
FTP.Username :='
username';
FTP.Password :='
password';
FTP.Passive:=true;
// false auch probiert
FTP.Connect;
FTP.ChangeDir('
upgrades');
FTP.Put(Filename,
extractfilename(Filename),true);
ftp.Disconnect;
Test 2 mit Code aus dem Netz:
Delphi-Quellcode:
function putfile(server, username, password, localfile, remotefile: string; port: word = 21): boolean;
var
hopen, hconnect: HINTERNET;
begin
hopen := InternetOpen('myagent', INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
if Assigned(hopen) then
begin
hconnect := InternetConnect(hopen, pchar(server), port, pchar(username), pchar(password), INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
if Assigned(hconnect) then
begin
Result := FtpSetCurrentDirectory( hconnect,pchar('upgrades'));
Result := FtpPutFile(hconnect, pchar(localfile), pchar(remotefile), FTP_TRANSFER_TYPE_UNKNOWN, 0);
InternetCloseHandle(hconnect);
end
else
begin
Showmessage(IntToStr(GetLastError));
Result := False;
end;
end
else
begin
Showmessage(IntToStr(GetLastError));
Result := false;
end;
end;
Problem: In beiden Fällen kommt das File auf dem
FTP an, es fehlen aber ein paar Byte. Origina: 3.993.240, angekommen 3.897.713
Somit ist der Download natürlich unbrauchbar.
Lade ich mit dem TotalCommander hoch -> alles gut.
Edit: Fehler gefunden aber Grund noch nicht. Vom
FTP.Put(Filename,
extractfilename(Filename),true); das ",true" weglassen und es geht..
Manchmal hilft Doku lesen wohl mehr als Copy/Paste