2009-06-23 2 views
6

URL 경로를 기반으로 다른 이미지를 생성하는 이미지 캐싱 시스템으로 작업하고 있습니다. 원본 이미지는 문서 루트 외부에 있으며 캐시 된 버전은 웹 루트의/cache에 추가됩니다. 길게 짧게, Flash에서 Loader을 경로로 가리키면 처음으로 캐시 된 이미지가 아직 생성되지 않은 경우 "로드 완료 없음"오류가 발생합니다.액션 스크립트 동적으로 생성 된 이미지로 [오류 # 2036 :로드 완료되지 않음]

Error opening URL 'http://characters.dev/cache/Pledges/16107/48_48c/jen001.jpg' 
Error #2036: Load Never Completed. URL: http://characters.dev/cache/Pledges/16107/48_48c/jen001.jpg 

캐시 된 이미지가 생성되고 다음에 응용 프로그램을 실행할 때 실제 파일이 오류없이로드됩니다. 초기 이미지를 생성하고 작성할 때 적절한 헤더가 전송되었으므로 플래시가 응답을 얻지 못하는 이유가 궁금합니다 (브라우저 창에서 제대로 작동하는 것 같습니다).

header("Content-type:image/jpeg"); 
echo $this->getResponse()->setBody(file_get_contents($cachedFile)); 

해결 방법에 대한 아이디어가 있으십니까? 오류는 플래시 응용 프로그램을 "늪지"시키는 것처럼 보입니다. 도움이된다면


, 여기에 응답 헤더의 : 생성

요청 이미지 : 이미지가 캐시

HTTP/1.1 200 OK 
Date: Tue, 23 Jun 2009 17:52:49 GMT 
Server: Apache 
X-Powered-By: PHP/5.2.6 
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
Set-Cookie: PHPSESSID=6b746d4ed010c288a824522597698ea2; expires=Fri, 24-Jul-2009 17:52:50 GMT; path=/; domain=.characters.dev 
Content-Length: 3575 
Content-Type: image/jpeg 

요청 :

HTTP/1.1 200 OK 
Date: Tue, 23 Jun 2009 17:53:27 GMT 
Server: Apache 
Last-Modified: Tue, 23 Jun 2009 17:52:50 GMT 
ETag: "24e6c62-df7-a8bd0080" 
Accept-Ranges: bytes 
Content-Length: 3575 
Content-Type: image/jpeg 

답변

2

플래시 IDE 문제가 보인다 (그것은 다른 언어 인 경우에도) 도움이됩니다. 정말로 고칠 수는 없습니다.

+2

죄송하지만 ...이 "대답"은 무엇을 의미합니까? IDE가 어떻게 플레이어에서 오류를 일으킬 수 있습니까? – brianvaughn

2

I 뻥이었다 g 유사한 문제, 당신은 IOErrorEvent.IO_Error이 하다니

_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError_handler, false, 0, true); 

public function ioError_handler(event:IOErrorEvent):void 
{ 
    Alert.show(event.toString()); 
} 

오류를 제거있어, 오페라에서로드되지 이미지의 일부를 잡으려면 나타나는 오류를 중지합니다. 결국 나는 이것이 내가 사진을로드 할 브라우저에서 이미지를 볼하려고 할 때 전에

context.Response.ClearContent(); 
context.Response.ClearHeaders(); 
context.Response.ContentType = "image/jpg"; 
context.Response.Cache.SetCacheability(HttpCacheability.NoCache); 
context.Response.Cache.SetNoStore(); 
context.Response.Cache.SetExpires(DateTime.MinValue); 
context.Response.BufferOutput = false; 
context.Response.BinaryWrite(photo); 

에 이미지 처리기 코드 (asp.net의 C#)를 변경하여 일을 가지고,하지만이 완료되지 것입니다 오페라에서 로딩하므로로드 완료 이벤트가 발생하지 않습니다.

희망이

+0

흠, 예, IO_ERROR에 대한 청취자가 있습니다 (내가 게시 한 출력은 표시되는 경고의 결과입니다). 그리고 헤더도 같은 방식으로 설정합니다. 확실하지 않다. Flash 객체가 브라우저에있을 때 오류가 발생하지 않는 것 같습니다. 아마도 IDE 일뿐입니다. – typeoneerror

관련 문제