URL-адрес сервера получения Adobe Air во время выполнения - PullRequest
1 голос
/ 25 ноября 2008

Я не знаком с Adobe Air и загружаю файл на сервер. В целях простого тестирования я жестко запрограммировал в коде URL для загрузки (в частности, URL-адрес для каталога загрузки на сервере, на который указывают каналы amf). В Adobe Air есть способ получить URL этого сервера во время выполнения?

Или вопрос не имеет никакого смысла, потому что есть лучший способ сделать это?

1 Ответ

0 голосов
/ 25 ноября 2008

Мне кажется, что вы хотите, чтобы URL загрузки был динамическим. В этом случае вы можете использовать много методов получения таких данных во время выполнения. Я бы использовал 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-файл, он может также легко включать информацию для фоновой музыки, отформатированный в CSS текст, обернутый в CDATA, или любой другой тип данных, которые вы хотели бы хранить и извлекать.

//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).

...