2012-01-10 2 views
1

Я новичок в Flash Builder 4.6 и пытаюсь сделать мобильное приложение. Я пытаюсь загрузить файл png с веб-сайта, а затем сохранить его с помощью PersistenceManager для последующего отображения. Но ничего не показывает. Вот как я загружаю изображение, похоже, что он работает.Загрузить png из URL-адреса сохранить его и отобразить

public class MySetup 
{ 
    public var myId:String; 
    public var myName:String; 
    public var myImage:Object; 
} 
    protected function loadImage():void{ 
    var request:URLRequest = new URLRequest ("http://www.myweb.com/pictures/myImage.png"); 
    var loader:URLLoader = new URLLoader(); 
    loader.dataFormat = URLLoaderDataFormat.BINARY; 
    loader.load(request); 
    loader.addEventListener(Event.COMPLETE, oncomplete); 
    } 

    protected function oncomplete(e:Event):void{ 
var saveManager:PersistenceManager = new PersistenceManager(); 
var loader2:URLLoader = e.target as URLLoader; 
if (loader2 != null){ 
     mySetup.myLogo = loader2.data; 

     } 
     else{ 
      trace("an error has occured!"); 
     } 
     mySetup.myId = myId.text; 
     mySetup.myName = myName.text; 
     saveManager.setProperty("setupData", mySetup); 
     saveManager.save(); 

     } 

Теперь я стараюсь, чтобы отобразить изображение, а затем я получаю сообщение об ошибке:

private var myLogo:Image; 
    protected function view1_creationCompleteHandler(event:FlexEvent):void 
    { 
    var loadManager:PersistenceManager = new PersistenceManager(); 
    if(loadManager.load()) 
     { 
     var savedData:Object = loadManager.getProperty("setupData");  
      if(savedData){ 
         myLogo = savedData.myLogo; 
         } 
     } 
    } 


    <s:Image id="MyImage" y="10" width="290" height="164" scaleMode="stretch" source="myLogo"/> 

Спасибо за любую помощь. Kim

ответ

1

myLogo должен быть ByteArray.

Смежные вопросы