0

ユーザーがハードディスクから画像をアップロードできるフラッシュアプ​​レットを作成しようとしています。
そのため、actionscriptは画像を編集してサーバーに送信します。
画像の読み込みは、Flash Player、Firefox、およびOperaで機能しますが、Chromeでは画像を選択すると停止します。
私はflashdevelopを使用しています。
これが私のコードです:

public class Main extends Sprite 
{

    [Embed(source = "../lib/lena.png")]
    private var layer0Class : Class;
    private var layer0:Bitmap = new layer0Class();

    private var fileReferenceSelect:FileReference = new FileReference();

    public function Main():void 
    {
        if (stage) init();
        else addEventListener(Event.ADDED_TO_STAGE, init);
    }

    private function init(e:Event = null):void 
    {
        removeEventListener(Event.ADDED_TO_STAGE, init);
        /// add image to flash scene
        addChild(layer0);

        /// add button
        var my_button:SimpleButton;
        my_button = new SimpleButton();
        my_button.x = 150;
        my_button.y = 50;
        var cerchio:Shape=new Shape();
        cerchio.graphics.beginFill(0x000000,1);
        cerchio.graphics.drawCircle(my_button.x,my_button.y,20);
        cerchio.graphics.endFill();
        my_button.upState = cerchio;
        my_button.overState = cerchio;;
        my_button.downState=cerchio;
        my_button.hitTestState = my_button.upState;
        addChild(my_button);
        /// button clicked
        my_button.addEventListener(MouseEvent.CLICK,function(m:MouseEvent):void
        {
            fileReferenceSelect.browse([new FileFilter("PNG Files (*.png)","*.png; *.jpg; *.jpeg")]);
        });
        /// file selected
        fileReferenceSelect.addEventListener(Event.SELECT, function(event:Event):void
        {
            fileReferenceSelect.load();
        });
        /// file ready to load
        fileReferenceSelect.addEventListener(Event.COMPLETE, function(event:Event):void
        {
            var ldr:Loader = new Loader();             
            /// file loaded
            ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void {
                var bm:Bitmap = Bitmap(e.target.content as Bitmap); /// here chrome is messing up
                layer0.bitmapData = bm.bitmapData;
            });
            ldr.loadBytes(fileReferenceSelect.data);
        });
    }

}


それはクロームの制限のためですか(クロームのフラッシュはサンドボックスにあると読みました)?
これを行うためのより良い方法はありますか?

4

1 に答える 1

2

Chromeでローカルにフラッシュコンテンツを読み込む際に問題が発生しました。そのフラッシュグローバルプレーヤー設定。問題は、クロームには独自のバージョンのフラッシュが組み込まれていることです。それが何と呼ばれていたかを忘れています。ペッパーフラッシュだと思いますか?とにかく、それはこのサイトからの設定に常に従うわけではありません:http: //www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html

Webサーバーでテストしている限り、問題はありません。ローカルWebサーバーでも機能します。

于 2012-12-12T05:42:12.370 に答える