2

我正在尝试通过 websockets 发送通过dataURItoBlob(canvas.get()[0].toDataURL('image/png'));这种方式获得的 blob:

connection.send(JSON.stringify({
                cmd: "fwd",
                msg: msg,
                p_id: worker_id,
            })

msg刚刚创建的 blob 在哪里。如果我尝试通过这样做来发送 blob,msg = ""+msg但它只发送 string [Object object],这对我来说没用。

如果我在发送之前尝试这样做msg = JSON.stringify(msg),它会给我同样的错误,就像在主题标题中一样。

如果我尝试发送数据而不将其封装在一个 blob 中(as msg = canvas.get()[0].toDataURL('image/png');),我会遇到上面解释的相同行为。

我可以做些什么来发送数据?谢谢

4

1 回答 1

14

JSON.stringify()完全问题,它就是这样做的方法。

“INVALID_STATE_ERR: DOM Exception 11”错误是由于在连接套接字之前执行 send() 消息引起的WebSocket.send()应该在WebSocket.onopen()事件处理程序被触发后触发(或在该处理程序内部):

this.ws = new WebSocket("ws://localhost:1234", "base64");
this.ws.onopen = function() { this.send({"type":"init_req"});};
于 2013-02-06T15:53:06.060 回答