如何使用AS3从Web服务器加载二进制数据?

Spa*_*ark 0 flash actionscript-3

我正试图从这样的服务器加载一些二进制数据

var urlRequest:URLRequest = new URLRequest("http://localhost/test.php");
var loader:Loader = new Loader();

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);   
loader.load(urlRequest);
Run Code Online (Sandbox Code Playgroud)

但它总是报告错误:

Loader Error #2124: Loaded file is an unknown type
Run Code Online (Sandbox Code Playgroud)

我的二进制数据是自定义数据,但不是swf/image文件.闪存不支持加载这些数据吗?或者我应该使用其他一些方法?

Cay*_*Cay 5

您需要使用URLLoader并指定请求的dataFormat:

var request:URLRequest = new URLRequest(url);
var urlLoader:URLLoader = new URLLoader(request);
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.addEventListener(Event.COMPLETE, onLoaded);


function onLoaded(e:Event):void {
  var bytes:ByteArray = urlLoader.data;
}
Run Code Online (Sandbox Code Playgroud)