flex mobile - 从bytearray加载图像 - 错误#2044:未处理的securityError

时间:2011-07-19 20:48:29

标签: arrays image sqlite flex mobile

在移动应用程序中,我尝试从sqlite数据库加载图像,并希望在mxml图像组件中显示它。 bytearray的加载工作正常,但是当我将bytearray分配给图像组件时,我得到以下错误。

  

错误#2044:未处理的securityError:。 text =错误#3226:无法导入   LoaderContext.allowCodeImport为false时的SWF文件。

我还尝试将图像保存并加载为base64字符串。但它没有帮助。

即使我尝试这样简单的事情:

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

只需将img1的bytearray添加到空的img2中 - 就会发生同样的错误。

这里出了什么问题? 非常感谢您的帮助, 干杯, FLO

2 个答案:

答案 0 :(得分:0)

我不明白为什么它认为你正在加载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显然是你的装载机。

答案 1 :(得分:0)

您使用的是mx还是spark Image

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

修改我刚看到您的评论。我也遇到了加载bytearray数据并将其设置为BitmapImage源的安全问题。由于没有crossdomain.xml,我的沙箱问题,但我从未使用过移动sdk。