我不熟悉Adobe Air,我正在将文件上传到服务器。出于简单的测试目的,我将上传URL(特别是amf通道所指向的服务器上的上传目录的URL)硬编码到代码中。 adobe air是否有办法在运行时获取此服务器URL?
或者问题没有任何意义,因为有更好的方法吗?
答案 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
)。