2011-07-19 4 views
0

モバイルアプリケーションでは、イメージをsqliteデータベースからロードしようとしましたが、mxmlイメージコンポーネントに表示します。 bytearrayの読み込みはうまく動作しますが、画像コンポーネントにbytearrayを割り当てるとエラーが発生します。flexモバイル - bytearrayからイメージをロード - エラー#2044:未処理のsecurityError

エラー#2044:処理されていないsecurityError: text =エラー#3226:LoaderContext.allowCodeImportがfalseの場合にSWFファイルをインポートできません。

また、イメージを保存して、base64文字列としてイメージをロードしようとしました。それは助けにはならない。

私はこのような単純なことしようとした場合でも:

var byteArray:ByteArray = img1.loaderInfo.bytes; 
img2.source = byteArray; 

を単に空IMG2にIMG1のByteArrayのを追加 - 同じエラーが発生します。

ここで何が間違っていますか?それはあなたがswfファイルのバイトをロードしていると考えて、なぜあなたの助けのための 多くのおかげで、 歓声、 フロ

+0

"img2"は何ですか?それはイメージコンポーネントですか? – Nate

+0

img1とimg2は両方とも画像コンポーネントです spierala

+0

まず、画像をデータベースに保存していますか?第二に、あなたはどのようにバイタリーをもう片方にロードしていますか? –

答えて

0

は、私は理解していません。

はちょうど蹴りのためにこの小さなハックを試してみて、何が起こるかを教えてください: loaderはあなたのローダが明らかに

var bitmapData : BitmapData = new BitmapData(content.width,content.height,true,0x00000000); 
bitmapData.draw(loader.content, new Matrix(),null,null,null,true); 
img2.source = new Bitmap(bitmapData); 

です。

+0

ob私の神!私は本当に悪いことをしました - 私は、次のようにbase64エンコーダを与えました: 'img1.loaderInfo.bytes;' 深い考えの後、これはもちろん画像のバイアレイではありません! :) 'img1.loaderInfo.loaderURL =" app:/myapp.swf "' loaderUrlは、いつもロードしようとしたことを示しています:myapp.swfのbytearray! ご協力いただきありがとうございます!多分誰かが同じ愚かなことをやっている! :) 歓声、 florian – spierala

+0

問題は、そのエラーは、そのswfがなければポップしてはならないので、私を困惑させていた。かなり面白いです。 :D – Nate

0

mxまたはspark Imageを使用していますか?

mx:Image extend SWFLoaderです。ソースを直接設定しようとすると、本質的にコードをインポートするため、セキュリティエラーが発生する可能性があります。 spark:ImageBitmapImageをラップします。あなたはおそらくそれでより良い運を持っています。

私はあなたのコメントを見ました。私はbytearrayデータを読み込んでBitmapImageのソースに設定することでセキュリティ上の問題も抱えていました。私はcrossdomain.xmlがないためサンドボックスの問題でしたが、私はモバイルSDKを使用したことはありません。

関連する問題