2012-01-10 95 views
1

我是新來的Flash Builder 4.6並試圖製作一個移動應用程序。 我想從一個網站加載一個PNG文件,然後用PersistenceManager保存以供日後顯示。但沒有任何表現。 下面是我如何加載圖像,看起來像它的工作。從URL加載png並將其保存並顯示出來

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。

相關問題