apache-flex flex移动的-从字节数组加载图像-错误#2044:未处理的securityError

lymgl2op  于 2022-11-01  发布在  Apache
关注(0)|答案(2)|浏览(135)

在一个移动的应用程序中,我尝试从sqlite数据库加载一个图像,并希望在一个mxml图像组件中显示它。加载bytearray工作正常,但当我将bytearray分配给图像组件时,我得到以下错误。
错误#2044:未处理的安全性错误:。text=错误#3226:当LoaderContext.allowCodeImport为false时,无法汇入SWF档。
我还尝试将图像保存并加载为base64字符串,但没有帮助。
即使我尝试了这样一件简单的事情:

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

只需将img 1的字节数组添加到空的img 2-同样的错误发生。
这里出了什么问题?非常感谢你的帮助,干杯,弗洛

inkz8wg9

inkz8wg91#

我不明白为什么它认为你在加载swf字节。
试试这个小技巧,告诉我会发生什么:

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 );

其中loader显然是加载程序。

23c0lvtd

23c0lvtd2#

你用的是mx还是spark Image
mx:Image扩展了SWFLoader,因此试图直接设置其源代码可能会导致安全错误,因为您实际上是在导入代码。spark:Image Package 了BitmapImage。您可能会有更好的运气。

编辑我刚刚看到了你的评论。我在加载bytearray数据并将其设置为BitmapImage的源代码时也遇到了安全问题。我的问题是由于没有crossdomain.xml而导致的沙盒问题,但我从未使用过移动的SDK。

相关问题