跳到主要内容

URLLoader读取不同数据格式

在网络通信中,不仅会加载一个简单的文本数据,还会加载一些图片资源、音频资源等等。

在针对不同格式数据的请求中,需要制定不同的处理方式。在Egret中,提供了五种可用的数据格式,分别是:

1.二进制格式

2.文本格式

3.URL编码格式

4.位图纹理格式

5.音频格式。

以上五种数据格式的设置均需要 URLLOaderDataFormat 类。如果想更改默认的文本格式,可以修改 URLLoader 中的 dataFormat 属性。 具体示例代码如下:


class NetDemo extends egret.DisplayObjectContainer {

public constructor() {

super();

this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);

}

private urlloader: egret.URLLoader;

private onAddToStage(event: egret.Event) {

this.urlloader = new egret.URLLoader();

this.urlloader.dataFormat = egret.URLLoaderDataFormat.VARIABLES;

const urlreq: egret.URLRequest = new egret.URLRequest();

urlreq.url = "http://httpbin.org/headers";

this.urlloader.load(urlreq);

this.urlloader.addEventListener(egret.Event.COMPLETE, this.onComplete, this);

}

private onComplete(event: egret.Event): void {

console.log(this.urlloader.data);

}

}


其中有一行:

this.urlloader.dataFormat  = egret.URLLoaderDataFormat.VARIABLES;


对加载的数据格式进行了修改,设置为“URL编码”格式。

编译后运行,效果如图: