2

私はPOST操作でHTTPServiceを使用してBase64エンコードファイル(アプリ内のビットマップデータから取得)を送信していますが、POST操作の進行状況を把握することで実際に行うことができます(FileReference.upload()など) 。

これは可能ではないと思いますが、可能であれば素晴らしいでしょう(どうしても、これを取得するためにセットアップを変更したいと思います)。

4

3 に答える 3

8

HTTPService を使用しないでください。URLRequest、URLLoader、および URLVariables を使用します。

HTTPService タグを使用している場合は、それを取り除き、次のようなもので満たされた Script タグに置き換えます。


private function forYou() : void{
     var req : URLRequest = new URLRequest("PUT YOUR URL HERE")
     var loader : URLLoader = new URLLoader();
     var params : URLVariables = new URLVariables();
     params.WHATEVER = WHATEVER YOU WANT IT TO BE;
     req.data = params;
     req.method = URLRequestMethod.POST;
     loader.addEventListener(ProgressEvent.PROGRESS, YOUR LISTENER FUNCTION NAME);
     loader.load(req);
}

この関数名をルート タグの creationComplete 属性に割り当てます。

HTTPService タグを使用していない場合は、アクション スクリプトで HTTPService オブジェクトを取得し、上記のコードを使用します。

于 2008-12-23T20:05:01.337 に答える
0

これは、RESTWebサービスを利用するのにうまく機能しました。

http://code.google.com/p/as3httpclient/wiki/Links

于 2008-12-31T06:28:30.170 に答える
0

これは HTTPService では不可能です。その唯一のイベントはresultfault、およびinvoke( および の関連性のない継承されたイベントを除くactivate)deactivateです。

アップロード プロセスの進捗情報を取得するには、サーバーが情報を提供する必要があります。これには、操作中にサーバーとクライアント間の通信手段が必要になりますが、これは通常の HTTP POST 操作にはありません。

1 つのオプションは、サーバーがクライアントから POST データを受信し始めるたびにインスタンス化されるオブジェクトをサーバー上に作成することです。次に、進行状況を追跡し、そのデータをサーバー側アプリケーションの残りの部分に公開します。クライアントは、その特定の変数の値を要求するポーリング システムを開始できます。

とてつもないオプションのように思えますが...

于 2009-06-16T14:20:07.053 に答える