밑에처럼 파일을 다운로드 받습니다.
하지만 서버에 다운로드 받을 파일이 없을경우 사이즈가 0KB로 생성이 됩니다.
여기서 질문입니다.
파일이 업을경우 0KB로 생성조차 되지않게 만들고 싶습니다.
답변 부탁드립니다.
>안녕하세요. 밑에 소스를 보시면 저는 파일을 하나하나 선택해서 업로드를 합니다.
>그런데 이렇게 선택을 하지않고.. "c:\test\"폴더에 있는 모든 파일을 한번에 업로드를 하고싶습니다.
>그렇게 하려는 이유는 업로드 하는 파일명이 매일 다를수도 있기에 이렇게 선택을 해서 업로드하는게아니라
>해당 폴더의 전체파일을 업로드 하려고 합니다.
>도움 부탁드립니다.
>
>procedure TForm1.Button11Click(Sender: TObject);
>
>var Filename:String;
>
>begin
>
> Filename:=FormatDateTime('yyyymmdd', now);
>
> IdFTP1.Host:=xxx.xxx.xxx.xxx;
> IdFTP1.Username:='test';
> IdFTP1.Password:='test';
> IdFTP1.Port:=21;
>
> try
> IdFTP1.Connect(True);
>
> except on E:Exception do
> Showmessage('접속실패! 잠시 후 다시 접속하세요');
>
> end;
>
> if IdFTP1.Connected then begin
> Showmessage('접속 정상');
> end;
>
> try
> // test Upload!
> IdFTP1.Put('c:\test\aaa_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\bbb_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\ccc_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\ddd_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\eee_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\fff_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\ggg_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\hhh_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\iii_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\jjj_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\kkk_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
> IdFTP1.Put('c:\test\lll_'+Filename+'.txt','/test/test'+Filename+'.txt',true);
>
>
> Showmessage('파일 업로드 완료');
> IdFTP1.Disconnect;
>
> except
> IdFTP1.Disconnect;
> showmessage('업로드 에러!!');
> end;
>
>end;
>
TIdFTP.List 메소드를 이용해서 서버의 파일목록을 구한 후 없으면 다운받고자하는 파일이 없으면 다운로드를 안하시면 됩니다.