2

この方法で取得したブロブをwebsockets経由で送信しようとしていますdataURItoBlob(canvas.get()[0].toDataURL('image/png'));:

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

msg作成したばかりのブロブはどこにありますか。それを実行してブロブを送信しようとすると、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.onopen( )イベント ハンドラーがトリガーされた後(またはそのハンドラー内) に WebSocket.send() をトリガーする必要があります。

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