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编码”格式。

编译后运行,效果如图: