ITDim
    Все будет итышно, когда вы с нами :)

Загрузка на фтп, консольное приложение Delphi

Пример кода, который я использовал для загрузки zip архивов, которые создавались батником:
program Kons_ftp;
{$APPTYPE CONSOLE}
uses
  SysUtils,
  Windows,
  IdFTP,
  ShellAPI;
 function sysdir: string;
var
f:array[0..255]of char;
begin
ExpandEnvironmentStrings('%WINDIR%',f,255);
Result := f;
end;

  var IdFTP:TIdFtp; //Объект для работы с FTP
  s:string;
today : TDateTime;
  begin
  ShellExecute(0,'open','E:\Admin\backupBD\ftp\ToFtP.bat',nil,nil,SW_hide);;
  today := Date;
s:=sysutils.dateToStr(today);
s := StringReplace(s, '2012', '12', [rfReplaceAll, rfIgnoreCase]);
s := StringReplace(s, '.', '', [rfReplaceAll, rfIgnoreCase]);
Sleep(789999);
    try
    IdFTP:=TIdFTP.Create(); //Создаем объект в памяти
    //Если соединение уже установлено - обрываем его.
    //Конечно, для данного случая эта проверка избыточна
    //Ведь мы только что создали объект IdFTP и никуда
    //еще не соединялись.
    If IdFTP.Connected then
    Begin
       IdFTP.Abort;
       IdFTP.Quit;
    End;
    //Задаем параметры доступа к серверу
    IdFTP.Username := 'user'; //Здесь имя FTP юзера
    IdFTP.Password := 'r0IL'; //Здесь его пароль
    IdFTP.Host := '91.203.'; //Здесь адрес сервера
    IdFTP.Port := 21;
    IdFTP.Passive := True;  // Без этого параметра многие фтп не будут работать
    try
       IdFTP.Connect; //Соединяемся
       If IdFTP.Connected then
       Begin
          IdFTP.Quote('TYPE I');
          IdFTP.ChangeDir('/1c/');          //Переходим на FTP в нужную папку
          IdFTP.Put('E:\Admin\backupBD\ftp\name.rar', s+'_name.rar', true);          //Скопировать файл C:\file1.gif в текущую папку FTP вервера
          IdFTP.Quit; //Завершаем соединение
          End;
          DeleteFile('E:\Admin\backupBD\ftp\name.rar');
       Write('GoooooooooooooooooooooD');
       Sleep(2000);       //показываем сообщение
       except
          Write('Fa*************************il.');//показываем сообщение
          Sleep(2000);
       end;
   finally
      IdFTP.Free; //Удаляем объект из памяти
     end;
end.

Пример рабочий) 

0 коммент.:

Отправить комментарий