이런식으로 파일을 FTP를 이용해 업로드 하고있습니다.
다운로드 받을경우엔 true를 적용하게되면 덮어 씌웁니다.
하지만 업로드를 할경우엔 덮어 씌우는게 아니라 이어받습니다.
예를 들어 TEST1_yyyymmdd.txt 파일이 1000K일경우 처음 업로드를 하면 정상입니다.
하지만 다시 시도를 할경우 2000K가 되는거죠. 이어서 받게되는거죠..
이걸 어케 해야하나요?
False를 쓰거나 아무것도 안쓰게되면 a.txt.1 머 이런식으로 올라가네요.
빠른 답변 부탁드립니다.
procedure TForm1.SpeedButton2Click(Sender: TObject);
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
IdFTP1.TransferType := ftBinary;
// Upload!
IdFTP1.Put('c:\ftp\TEST1_'+Filename+'.txt','/kis_test/TEST1_'+Filename+'.txt',true);
IdFTP1.Put('c:\ftp\TEST2_'+Filename+'.txt','/kis_test/TEST2__'+Filename+'.txt',true);
IdFTP1.Put('c:\ftp\TEST3_'+Filename+'.txt','/kis_test/TEST3_'+Filename+'.txt',true);
Application.ProcessMessages;
StatusBar1.SimpleText := 'Upload Success...';
Application.ProcessMessages;
Showmessage('파일 업로드 완료');
IdFTP1.Disconnect;
except
IdFTP1.Disconnect;
StatusBar1.SimpleText := 'Upload Error..';
Application.ProcessMessages;
showmessage('다운로드를 받고 해주세요');
end;
end;