作为ArrayBuffer发送的数据将作为Blob接收
Data sent as ArrayBuffer is being recieved as Blob
我正在nodejs中为WebSocket服务器使用ws模块。在服务器端,我有一个Uint8Array
,我用类似的代码发送给客户端
var data = new Uint8Array([1, 2, 3, 4, 5]);
clientSock.send(data, {
binary: true
});
但是,在客户端(最新的Chrome和Firefox(,数据作为Blob
对象接收。我知道我可以使用FileReader API将其处理回Uint8Array
。但我首先想把它作为ArrayBuffer
接收。我该怎么做?
就在我写完这个问题的时候,我碰巧自己找到了答案。根据WebSocket
的MDN文档,有一个binaryType
属性必须设置为"blob"
或"arraybuffer"
,并且它确定接收数据的格式。通过这样更改客户端代码,
var sock = new WebSocket("<the server address>");
sock.binaryType = "arraybuffer";
现在,正如预期的那样,来自服务器的所有二进制数据都作为ArrayBuffer接收。
相关文章:
- Meteor如何接收HTTP请求
- CORS-重定向到第二个GET正在接收的页面
- servlet中的请求对象,而不是从jsp接收参数值
- Javascript/Jquery Blob not showing Chrome PDF
- Scipt未在选定选项卡中执行以发送和接收消息
- 作为一个二维数组,从ajax接收
- 在javascript中接收来自mssql.query的变量
- 子进程未接收消息
- 为什么jQuery文件的函数中有两个参数,但只接收一个参数
- 使用blob作为src图像
- 使用PHP,我如何将JSON blob附加到现有的多级JSON对象
- 套接字服务器向客户端广播,但不从两者接收
- 从HTML表单发布blob的表单输入类型是什么
- 根据部门用户的选择,接收来自多个电子邮件地址的Wordpress Contactform7查询
- 如何在从客户端接收数据时从本机方法触发javascript函数?
- 将大数组(字符串和类型数组的混合物)存储到blob或文件中/从blob或文件检索大数组的最佳方式
- Django在使用AJAX时没有接收到新的查询字符串
- 在 JavaScript 中发送和接收 blob
- Blob通过ajax发送,通过VB接收
- 作为ArrayBuffer发送的数据将作为Blob接收