小编Chr*_*ris的帖子

如何通过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万
查看次数

标签 统计

arraybuffer ×1

binary ×1

file-upload ×1

javascript ×1

websocket ×1