2009-06-23 16 views
6

URLルートに基づいて異なる画像を生成する画像キャッシュシステムを使用しています。ソースイメージはドキュメントルートの外側にあり、キャッシュされたバージョンはWebルートの/ 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

のFlash IDEの問題(それは別の言語であっても)、役立ちます。本当に修正できません。

+2

申し訳ありませんが...この「回答」はどういう意味ですか? IDEがどのようにしてエラーを引き起こしますか? – brianvaughn

2

Iされたグラム同様の問題、あなたは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#)を変更することで動作するようになったが、それが完了していないでしょうOperaでロードしているため、ロード完了イベントが発生しません。

希望これは、それはそう

+0

ええ、ええ、私はIO_ERRORsのリスナーを持っています(投稿した出力は、あなたが表示する警告の結果です)。私はヘッダーを同じ方法で設定しています。わからない。 Flashオブジェクトがブラウザにあるときにエラーがスローされないように見えるので、単なるIDEの問題かもしれません。 – typeoneerror

関連する問題