2012-04-14 24 views

答えて

5

WebSocket仕様では、WebSocketはバイナリデータをArrayBufferとして送信できるはずですが、これはブラウザでは十分サポートされていません。 Socket.ioでは文字列の送信が制限されていますが、Base64でエンコードされたデータを送信できます。ですからキャンバスtoDataUrl()メソッドを使って画像をbase64として取得すると、すべて設定されています。 Here's a great article on the subject.

+0

ありがとうございます!これはまさに私が探していたものです – udidu

+0

この答えは現在depricated、socket.io + 1.xはすべての種類のデータを実装しています。 – TimZaman

0

インクファイルピッカーのようなものを使用することをお勧めしますhttps://www.inkfilepicker.com/ここで、クライアント上のユーザーはイメージをs3バケットにアップロードし、コールバックのイメージにURLを受け取ることができます。そうすれば、urlだけをsocket.ioに送ることができます。私は実際に、私がやっているプロジェクトでこれを実装しました。そこではパフォーマーが画像をアップロードし、それを部屋の人と共有することができます。基本的に、彼らはfilepicker経由でアップロードし、urlを取得し、socket.io経由でurlを送信してから、サーバー上のsocket.ioを使用して部屋の全員にブロードキャストします。

関連する問題