私はPOST操作でHTTPServiceを使用してBase64エンコードファイル(アプリ内のビットマップデータから取得)を送信していますが、POST操作の進行状況を把握することで実際に行うことができます(FileReference.upload()など) 。
これは可能ではないと思いますが、可能であれば素晴らしいでしょう(どうしても、これを取得するためにセットアップを変更したいと思います)。
私はPOST操作でHTTPServiceを使用してBase64エンコードファイル(アプリ内のビットマップデータから取得)を送信していますが、POST操作の進行状況を把握することで実際に行うことができます(FileReference.upload()など) 。
これは可能ではないと思いますが、可能であれば素晴らしいでしょう(どうしても、これを取得するためにセットアップを変更したいと思います)。
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 オブジェクトを取得し、上記のコードを使用します。
これは HTTPService では不可能です。その唯一のイベントはresult
、fault
、およびinvoke
( および の関連性のない継承されたイベントを除くactivate
)deactivate
です。
アップロード プロセスの進捗情報を取得するには、サーバーが情報を提供する必要があります。これには、操作中にサーバーとクライアント間の通信手段が必要になりますが、これは通常の HTTP POST 操作にはありません。
1 つのオプションは、サーバーがクライアントから POST データを受信し始めるたびにインスタンス化されるオブジェクトをサーバー上に作成することです。次に、進行状況を追跡し、そのデータをサーバー側アプリケーションの残りの部分に公開します。クライアントは、その特定の変数の値を要求するポーリング システムを開始できます。
とてつもないオプションのように思えますが...