1


0

as3から.netへ、Event.COMPLETEコールバックを受信しない

作業中のアプリの画像アップローダーを作成しました。 最初にサーバー側のスクリプトにphpを使用しましたが、すべて正常に機能しました。 その後、.netを使用する必要があることがわかったため、新しいサーバーサイドスクリプトを作成しました。 私が抱えている問題は、event.COMPLETEリスナーが起動しないことです。 DATAEVENTリスナーを使用してデータを受信できますが、このエラーで停止します。

Error #2044: Unhandled IOErrorEvent:. text=Error #2036: Load Never Completed.

ファイルの送信方法は次のとおりです。

var fileRefReq:URLRequest = new URLRequest(FILE_UPLOAD_TEMP);
                var fileReqVars:URLVariables = new URLVariables();
                fileReqVars.subdir = "Temp";
                fileRefReq.data = fileReqVars;
                fileRefReq.method = URLRequestMethod.POST;
                fileRef.upload(fileRefReq);

ファイルは確実に最初のTEMPディレクトリにアップロードされますが、上記のエラーで壊れます。

他の誰かが同様の問題を抱えていたり、これを解決するための正しい方向に私を向けていますか?

2 Answer


0


これは、Flashによって生成されたエラーです。 最も一般的な原因は次のとおりです。

  1. Flashのどこかで取得している404エラーの可能性があります。

  2. このエラーは、読み込み中にブラウザを閉じると発生する可能性があります 何か。

  3. デフォルトでは、呼び出し元のSWFファイルと読み込むURLは、 同じドメイン。 たとえば、www.adobe.comのSWFファイルは、www.adobe.comにあるソースからのみデータをロードできます。 別のドメインからデータをロードするには、データをホストしているサーバーにURLポリシーファイルを配置します。

Flashでの一般的なユーザーの問題はセキュリティの問題であるため、番号3は重要です。 ほとんどの場合、ここでは原因ではありません。

これら3つの原因をテストし、URLRequestを読みます:http://livedocs.adobe.com/flex/3/langref/flash/net/URLRequest.html

いくつかの追加の考えの後、私はそれがタイムアウトしていると思うが、それは単なる理論です。 次のようなイベントリスナーを追加します。

urlLoader.addEventListener("httpResponseStatus", function(event:HTTPStatusEvent):void

実際に何が起こっているかを確認します。


0


次のようなイベントを処理する必要があります。

// add the event listener
urlLoader.addEventListener( IOErrorEvent.IO_ERROR, onErrorHandler );

// handle the error event like this:
private function onErrorHandler( e: IOErrorEvent ): void {
 trace( "An io error occurred." );
}

それが役立つことを願っています