Скачиваем и загружаем файлы через FTP

Cети и Интернет   15 февраля 2011  Автор статьи: admin 

В этом уроке я покажу, как быстро и легко скачивать и загружать файлы, используя FTP доступ к удаленному серверу или хостингу. FTP доступ позволяет работать с файлами на удаленном сервере прямо как с файлами, которые хранятся у вас на компьютере, что достаточно удобно.

Далее я привожу две очень удобные для дальнейшего использования процедуры:

[cc lang=’delphi’]//Закачать файл на сервер, используя FTP доступ

procedure ftpsend(host,username,password,filefrom,fileto:string;port:integer);
var
ftp: TIdFTP;
begin
ftp:=TIdFTP.Create(Application);
try
try
ftp.Host:=host;// ftp адрес сервера
ftp.Port:=port;
ftp.Username:=username;//логин
ftp.Password:=password;//Пароль
ftp.Connect(true, 2000);
AssErt(ftp.Connected);
ftp.ChangeDir(‘/’);//Устанавливаем папку на сервере
ftp.Put(filefrom,fileto,false); //Передача файла на сервер «Откуда-Куда»
ShowMessage(‘Отправлено’);
finally

ftp.Free;
end;
except
ShowMessage(‘Попытка отправки файла на сервер не удалась’);
end;
end;

//Получить файл с сервера по FTP
procedure ftpget(host,username,password,filefrom,fileto:string;port:integer);
var
ftp: TIdFTP;
begin
ftp:=TIdFTP.Create(Application);
try
try
ftp.Host:=host;// ftp адрес сервера
ftp.Port:=port;
ftp.Username:=username;//логин
ftp.Password:=password;//Пароль ftp.Connect(true, 2000);
AssErt(ftp.Connected);
ftp.ChangeDir(‘/’);// Установить папку на сервере
ftp.Get(filefrom,fileto,true);//Принятие файла на сервер «Откуда-Куда»
ShowMessage(‘Файл принят’);
finally

ftp.Free;
end;
except
ShowMessage (‘Попытка приема файла с сервера не удалась’);
end;
end;

[/cc]

[note]В данном исходном коде используется компонент IdFTP[/note]

  • demon-sheff

    Я делаю обновление программы через FTP так:
    procedure TForm1.Timer2Timer(Sender: TObject);
    Var
    version:WideString;
    ms:TMemoryStream;
    begin
    ms:=TMemoryStream.Create;
    try
    IdFTP1.Passive:=true;
    IdFTP1.Connect;
    AssErt(IdFTP1.Connected);
    try
    version:=IdFTP1.Get(‘Soft/update/version.ini’);
    if version=Label6.Caption then
    begin
    Application.MessageBox(‘Вы используете последнюю версию программы!’,’Внимание’,MB_OK);
    end
    else
    begin
    IdFTP1.Get(‘Soft/update/Install.exe’,’c:Install.exe’,true);//Файл Откуда-Куда
    end;
    end;
    ms.Free; IdFTP1.Disconnect;
    end
    except
    ShowMessage (‘Неудачная попытка приема файла с сервера’);
    end;
    end;

    но почему-то у меня выдает ошибку E2250 There is no overloaded version of ‘Get’ that can be called with these arguments, буду презнатилен если подскажите в чем дело…

    • Ну посмотри еще раз сигнатуру Get, у тебя значит при вызове IdFTP1.Get(‘Soft/update/Install.exe’,’c:Install.exe’,true); или IdFTP1.Get(‘Soft/update/Install.exe’,’c:Install.exe’,true); используется недопустимый набор параметров. (Ну тип данных перепутал или количество)

Научиться программировать

  • на Delphi

  • на Java

  • на C++