1

私はAdobeAirに精通しておらず、サーバーにファイルをアップロードしています。簡単なテストの目的で、アップロードURL(具体的にはamfチャネルが指すサーバー上のアップロードディレクトリへのURL)をコードにハードコーディングしました。実行時にこのサーバーのURLを取得する方法はAdobeAirにありますか?

それとも、より良い方法があるので、質問は意味がありませんか?

4

1 に答える 1

0

アップロード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ファイルであるため、バックグラウンドミュージック、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)。

于 2008-11-25T19:04:55.203 に答える