Загрузите png из URL, сохраните и отобразите - PullRequest
1 голос
/ 10 января 2012

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

    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"/>

Спасибо за любую помощь,Ким

1 Ответ

1 голос
/ 09 февраля 2012

myLogo должен быть массивом ByteArray.

...