0

現在取り組んでいるフラッシュ プロジェクトでは、ステージの一連のスクリーンショットを撮り、それらのスクリーンショットをサーバーにアップロードする必要があります。スクリーンショット (jpeg に変換) を PHP 処理スクリプト (imageprocess.php) に送信するために、以下に貼り付けた AS3 コードを作成しました。

for (var i:int=0; i<sourceArray.length; i++)
    {
    var jpgEncoder:JPGEncoder = new JPGEncoder(10);
    var jpgStream:ByteArray = jpgEncoder.encode(sourceArray[i]);
    var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");     
    var jpgURLRequest:URLRequest = new URLRequest("imageprocess.php?name=drawing" + i +".jpg");
    jpgURLRequest.requestHeaders.push(header);
    jpgURLRequest.method = URLRequestMethod.POST;
    jpgURLRequest.data = jpgStream;
    navigateToURL(jpgURLRequest, "_blank"); //switch to ExternalInterface.call("someJS") 
    }

残念ながら、navigateToURL はフレームごとに 1 回しか機能しないことがわかりました (http://www.actionscript.org/forums/showthread.php3?t=250594)。複数のスクリーンショットをアップロードするには、ExternalInterface.call と Javascript を使用する必要があるようですが、この Javascript コードがどのようになるかはわかりません。私が変換した各スクリーンショットを取り、それらをphpファイルに送信できるJSの例を提供してくれる人は親切でしょうか? あらゆるアドバイスをいただければ幸いです。

4

2 に答える 2

0

JavaScriptを使用する必要がないので、画像をアップロードするために、ブラウザで新しいリンク(ポップアップなど)を開くためのJavaScript関数を作成してみませんか?関数のコピーですnavigateToURLが、JavaScriptで?それは私が思うより速い修正でしょうか?JavaScriptでウィンドウを開くには、このリンクを読んでください。

于 2012-05-21T07:33:21.817 に答える
0

URLLoader が問題を解決するかもしれません。アップロードに navigatetourl を使用していません。本当に興味深いです。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html

于 2012-05-21T07:48:14.333 に答える