자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 델파이 xe 인디 TcpClient 컴포에서 TcpServer로 jpg파일 전송시 문제
2012.06.13 04:13
안녕하십니까?
델파일 xe를 사용하고 있는 사용자입니다. 델파이 xe의 인디컴포넌트 idTcpClient에서 원격지 컴퓨터의 idTcpServer컴포넌트를 통해 서버로 jpg 파일을 전송하는 부분입니다.
물론 보내기 전 파일은 이상없는 상태이구요.윈도우 탐색기에서 파일을 클릭하면 썸네일화면이 나오며, 델파이의 이미지컴포넌트에도 불러올 수 있습니다. 그런데 서버쪽에서 전송받은 jpg파일은 Image 컴포넌트에서 부를 수 없으며 #53에러가 납니다. 전송되는 파일 사이즈는 크기가 같습니다. 그리고 서버쪽의 전송받은 jpg파일을 알씨에서 보면 보여집니다. 델파이에서는 에러가 나지만요.
아래에 전송하고 받는 소스를 참고하여 답변 부탁드립니다.
보내는 쪽
Application.ProcessMessages;
fStream := TFileStream.Create( rFileName, fmOpenRead );
Application.ProcessMessages;
IdTCPClient1.IOHandler.Write( fStream );
받는 쪽
Application.ProcessMessages;
fStream := TFileStream.Create( FileName, fmCreate );
Application.ProcessMessages;
try
AContext.Connection.IOHandler.ReadStream( fStream, StrToInt(FileSize), True );
finally
FreeAndNil( fStream );
end;
댓글 1
-
읽어들일 사이즈를 지정하지 않은것이 문제인듯 싶습니다.아래와 같이 처리해보시면 좋을것 같습니다.
LStore := TMemoryStream.Create;LStore.Position := 0;Size := AContext.Connection.IOHandler.ReadInt64();AContext.Connection.IOHandler.ReadStream(LStore,Size);
번호 제목 글쓴이 날짜 조회 수
공지
[프로그래밍 강의] 2021.6~2021.12
관리자 2015.01.22 39911
공지
유용한 관련 사이트
관리자2 2014.03.20 79436
10
REST Application에서 앞에 '0' 이 사라져요...
[4] 딸기 2012.02.28 20363
9
Indy ftp 한글깨짐 질문 입니다
[8] sdj 2012.04.04 21165
8
ios 자신의 전화번호 확인은 불가능한건가요?
[3] 델마당쇠 2020.08.25 21327
7
project 그룹 안의 bpl 간의 변수 공유에 대해 질문드립니다.
[2] 국카 2020.08.13 28168
6
모니터 2화면에서 프로그램 열리는 위치 지정가능하다면 방법은?
양현숙 2012.08.16 32913
5
제다이(Jedi) 컴포넌트 설치 방법을 알려주세요
[1] 관리자 2012.04.05 43560
4
FireDac:다른hstmt의결과에 연결이 사용중입니다 라는 오류에 대해
[4]
jcijang 2016.09.14 58802
3
아이폰 본인 전화번호 확인방법??
[1] kerry 2018.01.20 79258
2
구버전 설치시 시리얼번호 문의
[1] DevCK 2020.06.02 95492
1
Delphi XE8 Loadlibrary를 이용한 VC++ dll 사용에 대한 문의드립니다.
[1]
mir 2015.12.24 224285
Delphi 델파이 xe 인디 TcpClient 컴포에서 TcpServer로 jpg파일 전송시 문제
2012.06.13 04:13
안녕하십니까?
델파일 xe를 사용하고 있는 사용자입니다. 델파이 xe의 인디컴포넌트 idTcpClient에서 원격지 컴퓨터의 idTcpServer컴포넌트를 통해 서버로 jpg 파일을 전송하는 부분입니다.
물론 보내기 전 파일은 이상없는 상태이구요.윈도우 탐색기에서 파일을 클릭하면 썸네일화면이 나오며, 델파이의 이미지컴포넌트에도 불러올 수 있습니다. 그런데 서버쪽에서 전송받은 jpg파일은 Image 컴포넌트에서 부를 수 없으며 #53에러가 납니다. 전송되는 파일 사이즈는 크기가 같습니다. 그리고 서버쪽의 전송받은 jpg파일을 알씨에서 보면 보여집니다. 델파이에서는 에러가 나지만요.
아래에 전송하고 받는 소스를 참고하여 답변 부탁드립니다.
보내는 쪽
Application.ProcessMessages;
fStream := TFileStream.Create( rFileName, fmOpenRead );
Application.ProcessMessages;
IdTCPClient1.IOHandler.Write( fStream );
받는 쪽
Application.ProcessMessages;
fStream := TFileStream.Create( FileName, fmCreate );
Application.ProcessMessages;
try
AContext.Connection.IOHandler.ReadStream( fStream, StrToInt(FileSize), True );
finally
FreeAndNil( fStream );
end;
댓글 1
-
읽어들일 사이즈를 지정하지 않은것이 문제인듯 싶습니다.아래와 같이 처리해보시면 좋을것 같습니다.LStore := TMemoryStream.Create;LStore.Position := 0;Size := AContext.Connection.IOHandler.ReadInt64();AContext.Connection.IOHandler.ReadStream(LStore,Size);
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | [프로그래밍 강의] 2021.6~2021.12 | 관리자 | 2015.01.22 | 39911 |
공지 | 유용한 관련 사이트 | 관리자2 | 2014.03.20 | 79436 |
10 | REST Application에서 앞에 '0' 이 사라져요... [4] | 딸기 | 2012.02.28 | 20363 |
9 | Indy ftp 한글깨짐 질문 입니다 [8] | sdj | 2012.04.04 | 21165 |
8 | ios 자신의 전화번호 확인은 불가능한건가요? [3] | 델마당쇠 | 2020.08.25 | 21327 |
7 | project 그룹 안의 bpl 간의 변수 공유에 대해 질문드립니다. [2] | 국카 | 2020.08.13 | 28168 |
6 | 모니터 2화면에서 프로그램 열리는 위치 지정가능하다면 방법은? | 양현숙 | 2012.08.16 | 32913 |
5 | 제다이(Jedi) 컴포넌트 설치 방법을 알려주세요 [1] | 관리자 | 2012.04.05 | 43560 |
4 |
FireDac:다른hstmt의결과에 연결이 사용중입니다 라는 오류에 대해
[4] ![]() | jcijang | 2016.09.14 | 58802 |
3 | 아이폰 본인 전화번호 확인방법?? [1] | kerry | 2018.01.20 | 79258 |
2 | 구버전 설치시 시리얼번호 문의 [1] | DevCK | 2020.06.02 | 95492 |
1 |
Delphi XE8 Loadlibrary를 이용한 VC++ dll 사용에 대한 문의드립니다.
[1] ![]() | mir | 2015.12.24 | 224285 |