6

socket.ioを使用してクライアントからサーバーに画像をアップロードすることは可能ですか?

4

2 に答える 2

5

WebSocketの仕様では、WebSocketはバイナリデータをArrayBufferとして送信できる必要があると規定されていますが、これはブラウザーでは十分にサポートされていません。Socket.ioは文字列の送信に制限されていますが、Base64でエンコードされたデータを送信できます。したがって、canvas toDataUrl()メソッドを使用して画像をbase64として取得すると、すべて設定されます。これは、このテーマに関するすばらしい記事です。

于 2012-04-14T23:51:21.537 に答える
2

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

于 2013-08-13T00:46:04.240 に答える