ErazerZ zeigt
in diesem Beitrag, wie es möglich ist, ohne Komponenten von Drittanbietern Dateien über
FTP herauf- und herunterzuladen.
Delphi-Quellcode:
uses
WinInet
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);
hconnect := InternetConnect(hopen, pchar(server), port, pchar(username), pchar(password), INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
Result := FtpPutFile(hconnect, pchar(localfile), pchar(remotefile), FTP_TRANSFER_TYPE_UNKNOWN, 0);
InternetCloseHandle(hconnect);
end;
Ein Beispielaufruf für einen Lunix-/Unix-Server (für Windows eben den Pfad anpassen):
putfile('154.26.23.142', 'user5', 'password', 'C:\foobar.txt', '/html/foobar.txt')
Das Herunterladen geht entsprechend, doch anstelle von FtpPutFile nimmt man hier FtpGetFile:
Delphi-Quellcode:
function FtpGetFile(
hConnect: HINTERNET;
lpszRemoteFile: PChar;
lpszNewFile: PChar;
fFailIfExists: BOOL;
dwFlagsAndAttributes: DWORD;
dwFlags: DWORD;
dwContext: DWORD): BOOL
Hier findet ihr eine
recht gute Dokumentation.
Suchbegriffe: Download Dateien