相关疑难解决方法(0)

如何通过Websocket发送arraybuffer作为二进制文件?

我正在与Mozilla Europe合作开展一个项目.在这个项目中,我使用了由Worlize(服务器端)和Mozilla(客户端)的Nodeocket,Node.js尝试将文件从客户端上传到服务器.
我目前的目标是将一个arraybuffer文件发送到服务器.创建arraybuffer并发送它很好.
但是我的服务器告诉我这arraybuffer是一条utf8消息而不是二进制消息.

我误解了什么吗?如果没有,我该如何纠正?

客户端:

    reader = new FileReader();
    reader.readAsArrayBuffer(file);
    reader.onload = function(e) {
        connection.send(e.target.result); 
    };
Run Code Online (Sandbox Code Playgroud)

服务器端:

ws.on('message', function(message,flags) {
if (!flags.binary) {
    //some code
}
else {
    console.log('It\'s a binary');
}
Run Code Online (Sandbox Code Playgroud)

我也尝试Blob过,同样的结果.二进制部分是不可见的.

javascript binary file-upload websocket arraybuffer

21
推荐指数
2
解决办法
4万
查看次数

JavaScript 将 Blob 转换为 Float32Array(或其他类型化数组)

如何将通过 WebSocket 二进制消息接收到的 blob 转换为 Float32Array(或其他类型化数组:Uint32、Uint16 等)。

我尝试使用 FileReader,但“结果”需要很长时间才能可用。结果必须在下一个接收到的 WebSocket 消息中可用。

如果我可以让 WebSocket 接收 ArrayBuffer 而不是 Blob,那就行了。我怎样才能做到这一点?

javascript websocket

2
推荐指数
1
解决办法
1806
查看次数

标签 统计

javascript ×2

websocket ×2

arraybuffer ×1

binary ×1

file-upload ×1