日期:2014-05-16  浏览次数:20462 次

flex显示后台数据库存储的图片

?

如果数据库储存的是图片路径,直接用<Image>加载这个路径
如果是储存图片二进制信息的话,把这数据加载到FLEX里, 修要一个修改过的<Image>组件来显示. 我这里刚好有一个

package customComp
{
import mx.controls.Image;
import flash.utils.ByteArray;
import flash.system.LoaderContext;
import flash.display.Loader;
import flash.display.DisplayObject;
import flash.events.Event;

public class ByteArrayImage extends mx.controls.Image
{
private var _loader:Loader = new Loader();

public function Image():void {}
override protected function createChildren():void
{
addChild(_loader);
}  

public function loadBytes(bytes:ByteArray, context:LoaderContext = null):void
{  
_loader.loadBytes(bytes, context);
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onBytesLoaded);
}

private function onBytesLoaded( e:Event ):void
{
width = e.target.width;
height = e.target.height;
}
}
}

把ByteArray传给loadBytes方法就好了

?