1

フラッシュからJavaサーブレットに巨大な(〜4MB)データブロックを送信する際に問題が発生しました。現在、URLVariablesを使用してデータを転送していますが、これには制限があるようです(小さいデータブロック)、この制限を抑制する方法、またはその他の方法でデータをサーブレットに取得するにはどうすればよいですか。

これまでの私のフラッシュコード:

var variables:URLVariables = new URLVariables();
variables.name = name_string; //Plenty of these small attributes
variables.data = data_string; //And the huge BLOB

var sendReq:URLRequest = new URLRequest("http://localhost:8080/recieve/");
sendReq.method = URLRequestMethod.POST;
sendReq.data = variables;

var sendLoader:URLLoader;
sendLoader = new URLLoader();
sendLoader.addEventListener(Event.COMPLETE, Handler);
sendLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
sendLoader.load(sendReq);
4

4 に答える 4

0

まず、すべてのPOSTメソッドはIEで約2000文字以上で失敗します(少なくとも8文字より前)。

次に、制限があります: Flash / AS3URLLoaderを参照してください-同時URLLoader.load()リクエストの数に制限はありますか?

可能であれば、データを細かく分割して送信してみてください。これにより、最大の問題が解消されます。

于 2011-09-14T15:13:36.697 に答える
0

それを調べた後、BitmapDataがメモリ内に作成されることを考えると、私の以前の提案であるFileReferenceは悪い考えです。

ByteArray (Flashから)といくつかのフォームデータをphpに送信するにはどうすればよいですか?

于 2011-09-15T14:45:37.570 に答える
0

それで、フラッシュで遊んだ後、私は解決策を思いつきました。

data_stringを特定のサイズのサブ文字列に分割し、これらを列挙し、part_idとともにURLLoaderを使用してこれらをそれぞれ転送するだけです。

サブ文字列の収集は、サーバー側でpart_idsによって実行されます。

于 2011-09-15T18:51:58.330 に答える
0

これは、サーバー側の問題のように聞こえます。Java環境設定を確認し、許可されるPOST/リクエストの最大サイズを増やしてください。

データを複数の部分に分割して別々に送信するソリューションは、各部分がサーバー側の制限よりも小さいため、おそらく機能するだけです。

于 2014-05-02T00:17:26.580 に答える