小程序中能否使用FileReader把blob对象中的数据读取出来
发布于 6 年前 作者 taochen 9306 次浏览 来自 问答

在网络通信中,有时需要读取服务器发来的二进制数据,

本人的项目中,使用websocket,得到的这些二进制数据会被当作blob类型(在websocket的信息头中定义了数据类型为 0x2)

通常我们是可以把blob类型转化成别的类型的,但是都需要FileReader这个东西。比如

var reader = new FileReader();

var self = this;

reader.onload = function (e) {self.onTraitMsg(reader.result);}

reader.readAsArrayBuffer(msg);

我在网上找了一阵子,有的人说微信小程序提供这个接口,有的人说不提供。

请问到底提不提供,如果不提供,有没有替代的方法?

3 回复

应该是目前只实现了String/ArrayBuffer类型的处理。详情请参考文档。

小程序没有 File API 。onSocketMessage 可以是 ArrayBuffer ,你可以从这个角度做。

LastLeaf 谢谢,之前是按普通的浏览器的websocket写的,没有注意到api的区别。

是不是只要换成微信的websocket的api,接收到的就一定是String或者ArrayBuffer类型的?

回到顶部