자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 웹 상에서 이미지 다운시 질문
2020.01.30 12:26
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
개발툴: Xe8
RsetClient, RESTResponse,RESTResponse 로 웹에서 이미지을 다운받을때 증상 문의 입니다.
Stream.WriteData(ResPonse.RawBytes, ResPonse.ContentLength);
if Stream.Memory = Nil then Exit;
Stream.Position := 0;
_Jpg.LoadFromStream(Stream); --(1)
(1)부분에서 jpeg error #53 이 간혹 발생 합니다.. 원인을 검색 해보 결과 "웹에서 이미지를 100% 다운 받지 못할 경우
발생 할 수 있다" 라고 구글에서 볼 수 있었습니다.
네이버 Rest APi에서 이미지에 대한 크기는 리턴하지 않는 관계로 크기로 다운 정상 여부를 판단 할 수 가 없습니다.
델파이는 이러한 것에 대한 체크 함수는 제공해 주지 않는 걸로 알고 있습니다.
정상적인 이미지 인지 확인 할 수 있는 방법이 있을까요..또는 에로 코드를 무시 할 수 있는 방법이 있을까요?
의외로 상당히 많은 이미지가 jpeg error #53 를 토해 냅니다.
감사합니다.
좋은 하루 보내세요.
댓글 4
-
험프리
2020.01.31 09:44
-
희망나라
2020.01.31 14:27
에러 이미지
https://search.shopping.naver.com/gate.nhn?id=21829841670
https://search.shopping.naver.com/gate.nhn?id=21490135048
LoadFromStream 할때 Vcl.Imaging.jpeg 의 jpeg_read_header(cinfo, TRUE); 에서 에러가 납니다.
다운로드 방법은 위 질문내용과 같습니다.
어제 강의 잘 들었습니다.
감사합니다.
-
juni
2020.08.07 10:10
저의 경우는 파일이 다운로드 완료 전 이미지 로드시에도 ' jpeg error #53' 에러 메시지가 떴지만
이미지 확장자명이 잘못되어 있는 경우(확장자명이 jpg 지만 실제 gif 나 png 파일인 경우) 에도 위와 같은 에러 메시지가 떴습니다.
해결은 sImageType := RESTResponse.ContentType; 으로 이미지 Type 확인 후 확장자명을 변경 저장하였습니다.
저도 이부분으로 고민을 했던터라 혹시 저와 같은 분이 계실까하여 늦었지만 답변달아봄니다.
-
juni
2020.08.07 11:51
이미지 헤더로 이미지종류 확인하는 방법도 있네요.
https://stackoverflow.com/questions/11067833/delphi-show-images-without-download
Delphi 웹 상에서 이미지 다운시 질문
2020.01.30 12:26
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
개발툴: Xe8
RsetClient, RESTResponse,RESTResponse 로 웹에서 이미지을 다운받을때 증상 문의 입니다.
Stream.WriteData(ResPonse.RawBytes, ResPonse.ContentLength);
if Stream.Memory = Nil then Exit;
Stream.Position := 0;
_Jpg.LoadFromStream(Stream); --(1)
(1)부분에서 jpeg error #53 이 간혹 발생 합니다.. 원인을 검색 해보 결과 "웹에서 이미지를 100% 다운 받지 못할 경우
발생 할 수 있다" 라고 구글에서 볼 수 있었습니다.
네이버 Rest APi에서 이미지에 대한 크기는 리턴하지 않는 관계로 크기로 다운 정상 여부를 판단 할 수 가 없습니다.
델파이는 이러한 것에 대한 체크 함수는 제공해 주지 않는 걸로 알고 있습니다.
정상적인 이미지 인지 확인 할 수 있는 방법이 있을까요..또는 에로 코드를 무시 할 수 있는 방법이 있을까요?
의외로 상당히 많은 이미지가 jpeg error #53 를 토해 냅니다.
감사합니다.
좋은 하루 보내세요.
댓글 4
-
험프리
2020.01.31 09:44
-
희망나라
2020.01.31 14:27
에러 이미지
https://search.shopping.naver.com/gate.nhn?id=21829841670
https://search.shopping.naver.com/gate.nhn?id=21490135048
LoadFromStream 할때 Vcl.Imaging.jpeg 의 jpeg_read_header(cinfo, TRUE); 에서 에러가 납니다.
다운로드 방법은 위 질문내용과 같습니다.
어제 강의 잘 들었습니다.
감사합니다.
-
juni
2020.08.07 10:10
저의 경우는 파일이 다운로드 완료 전 이미지 로드시에도 ' jpeg error #53' 에러 메시지가 떴지만
이미지 확장자명이 잘못되어 있는 경우(확장자명이 jpg 지만 실제 gif 나 png 파일인 경우) 에도 위와 같은 에러 메시지가 떴습니다.
해결은 sImageType := RESTResponse.ContentType; 으로 이미지 Type 확인 후 확장자명을 변경 저장하였습니다.저도 이부분으로 고민을 했던터라 혹시 저와 같은 분이 계실까하여 늦었지만 답변달아봄니다.
-
juni
2020.08.07 11:51
이미지 헤더로 이미지종류 확인하는 방법도 있네요.
https://stackoverflow.com/questions/11067833/delphi-show-images-without-download
특정한 이미지에서 해당 오류가 반복적으로 발생하나요? 아니면 일정한 패턴없이 여러 이미지에서 오류가 발생하나요?
1) 특정한 이미지에서 발생한다면, 해당 이미지 데이터를 처리하는 부분을
2) 여러 이미지에서 발생한다면, 다운로드하는 코드를 살펴봐야 할 것 같습니다.
만약, 1)의 경우라면 이미지의 URL을 댓글로 남겨주시기 바랍니다.
2)의 경우라면, 다운로드 이후 파일로 저장해 파일을 통해 다운로드 받은 데이터를 확인해보시고 문제가 될만한 코드를 점검해보시기 바랍니다.
만약, JPEG error #53오류에 대한 예외처리를 하려면 try except 문을 이용하시기 바랍니다.(EInvalidGraphic 예외에 대해 처리하면 더욱 좋을 것 같습니다.)
Jpeg error #53 참고 링크
https://stackoverflow.com/questions/3520186/delphi-jpeg-error-53
try exception 참고 링크
http://docwiki.embarcadero.com/RADStudio/Rio/en/Exceptions_(Delphi)
——————
답글이 도움이 되셨는지 다른 분들도 참고할 수 있도록 결과 댓글 부탁드립니다.
(결과 댓글이 없는 경우 다른 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)