在移动应用程序中,我尝试从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
答案 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。