자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 서버컴퓨터로 파일 전송하는데 에러가발생해서 질문드립니다...!!
2016.08.12 13:09
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
IdFTP 컴포넌트를 통해 서버컴퓨터로 파일을 전송하는데 문제가 생겨서 질문드립니다...
우선 소스 정보입니다.
// FTP서버 접속 ( 컴포넌트 속성에 ip, username, password, port 모두 입력하였습니다)
procedure TForm17.Button10Click(Sender: TObject);
begin
IdFTP1.Connect;
if IdFTP1.Connected then button10.Enabled := False;
end;
// 폴더 생성과 폴더 삭제는 잘됩니다!!
procedure TForm17.Button7Click(Sender: TObject);
begin
IdFTP1.MakeDir('test');
end;
procedure TForm17.Button8Click(Sender: TObject);
begin
IdFTP1.RemoveDir('test');
end;
// 문제가되는 파일전송 소스
procedure TForm17.Button9Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
IdFTP1.Put(OpenDialog1.FileName, ExtractFileName(OpenDialog1.FileName));
end;
end;
에러 정보 : Project pFTP.exe raised exception class EIdReplyRFCError with message 'Server cannot accept argument.
무엇이 문제인가요??.. ㅜㅜ
위의 소스는 https://www.youtube.com/watch?v=0zvlbdBnfPs 참고하여서 만들었습니다.
http://wwwi.tistory.com/229 여기를 참고하여서 만들어보았지만 잘안되서 질문드립니다~!!
댓글 2
-
험프리
2016.08.12 16:05
-
syc
2016.08.12 17:33
답변감사드립니다~~!!!
컴포넌트에서
Passive := True 해주니까 바로 되네요...ㅎㅎ
PassiveUseControl, TransferType 은 변경해도 아무이상없이 동작하였습니다.
처음에 한글파일이 안올라가서 당황했는데
http://tech.devgear.co.kr/delphi_qna/411727 답변 참고하여 만드니 다 해결되었습니다~ ㅎㅎ
Delphi 서버컴퓨터로 파일 전송하는데 에러가발생해서 질문드립니다...!!
2016.08.12 13:09
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
IdFTP 컴포넌트를 통해 서버컴퓨터로 파일을 전송하는데 문제가 생겨서 질문드립니다...
우선 소스 정보입니다.
// FTP서버 접속 ( 컴포넌트 속성에 ip, username, password, port 모두 입력하였습니다)
procedure TForm17.Button10Click(Sender: TObject);
begin
IdFTP1.Connect;
if IdFTP1.Connected then button10.Enabled := False;
end;
// 폴더 생성과 폴더 삭제는 잘됩니다!!
procedure TForm17.Button7Click(Sender: TObject);
begin
IdFTP1.MakeDir('test');
end;
procedure TForm17.Button8Click(Sender: TObject);
begin
IdFTP1.RemoveDir('test');
end;
// 문제가되는 파일전송 소스
procedure TForm17.Button9Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
IdFTP1.Put(OpenDialog1.FileName, ExtractFileName(OpenDialog1.FileName));
end;
end;
에러 정보 : Project pFTP.exe raised exception class EIdReplyRFCError with message 'Server cannot accept argument.
무엇이 문제인가요??.. ㅜㅜ
위의 소스는 https://www.youtube.com/watch?v=0zvlbdBnfPs 참고하여서 만들었습니다.
http://wwwi.tistory.com/229 여기를 참고하여서 만들어보았지만 잘안되서 질문드립니다~!!
댓글 2
-
험프리
2016.08.12 16:05
-
syc
2016.08.12 17:33
답변감사드립니다~~!!!
컴포넌트에서
Passive := True 해주니까 바로 되네요...ㅎㅎ
PassiveUseControl, TransferType 은 변경해도 아무이상없이 동작하였습니다.
처음에 한글파일이 안올라가서 당황했는데
http://tech.devgear.co.kr/delphi_qna/411727 답변 참고하여 만드니 다 해결되었습니다~ ㅎㅎ
"Server cannot accept argument." 오류는 서버가 인자(?)를 수락할 수 없다는 오류인데요.
아무래도 Active/Passive 모드 설정이 문제가 될 것 같은데요?
1) FTP 서버의 설정을 살펴보시고,
2) FTP 프로그램으로 접속 및 업로드 등을 테스트해보세요.
3) 소스상에서 TIdFTP.Passive, TIdFTP.PassiveUseControl 속성등을 살펴보세요. 그리고, TIdFTP.TransferType을 ftASCII와 ftBinary 등 속성도 테스트해보세요.
확인 결과 답변 부탁드립니다^^