运行时Adobe Air检索服务器URL

时间:2008-11-24 21:21:17

标签: url air adobe

我不熟悉Adobe Air,我正在将文件上传到服务器。出于简单的测试目的,我将上传URL(特别是amf通道所指向的服务器上的上传目录的URL)硬编码到代码中。 adobe air是否有办法在运行时获取此服务器URL?

或者问题没有任何意义,因为有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

听起来好像您希望上传网址是动态的。在这种情况下,您可以使用许多方法在运行时检索此类数据。如果我是你,我会使用XML,我将在下面说明如何执行此操作。

//THE XML - Place in same folder as the FLA and name setup.xml
<?XML version="1.0" encoding="utf-8"?>
<xml>
    <upload url="path/to/file" />
</xml>

现在这是一个非常简单的XML文件,它可以很容易地包含背景音乐信息,用CDATA包装的CSS格式文本,或者你想要保存和检索的任何其他类型的数据。

//The ActionScript 3.0

package
{
    import flash.display.Sprite;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.events.Event;

    public class TestDocClass extends Sprite
    {
        private var _xml:XML;
        private var _xmlLoader:URLLoader;
        private var _xmlRequest:URLRequest;

        public function TestDocClass():void
        {
            _xmlLoader = new URLLoader();
            _xmlRequest = new URLRequest('setup.xml');
            _xmlLoader.addEventListener(Event.COMPLETE, onXMLComplete, false, 0, true);
            _xmlLoader.load(_xmlRequest);
        }
        private function onXMLComplete(e:Event):void
        {
             _xmlLoader.removeEventListener(Event.COMPLETE, onXMLComplete, false);

            //Create the XML object and insert the data.
            _xml = new XML(e.target.data);

            //Now to access the upload line we use its Namespace of "upload"
            //The @ symbol specifies we are retrieving an attribute.

            trace(_xml.upload.@url);
        }
    }
}

因此,只要您需要上传目的地,只需拨打_xml.upload.@url,或者在数据到达时将变量设置为该值(var uploadURL:String = _xml.upload.@url)。