2010-12-06 7 views
0

Rails 3では、ビットマップイメージデータをJSON形式でサーバーに送信したいので、以下の手順を実行します。

1.クライアントで、ビットマップイメージを文字列に変換します。
2.文字列をJSON形式でエンコードし、サーバーに送信します。
3. JSON形式のビットマップイメージデータをデコードします。

ビットマップイメージでは、JSON形式でエンコードした後、0バイトまたはその他の読み取り不可能なバイトがあります.0バイトは/ u0000に変換され、スペースバイトは/ u000aに変換されます。

    JSON文字列「\ u0066、サーバー側で
は、私は、JSON文字列をデコードする ActiveResource ::フォーマット:: JsonFormat.decodeを使用しますが、それは例えば、/ U0000を満たしたときにメソッドが停止します\ u0066 \ u0000 \ u0066 \ u0066 "は" ff "にデコードされ、残りの3バイトはサイレントに破棄されます。

この問題を解決するにはどうすればよいですか? JSON文字列を自分でデコードする関数を書くべきですか?Rails 3でJSON形式の画像データをデコードする方法は?

答えて

3

実際には、そのデータをマルチパート形式のバイナリとしてPOSTする必要があります。

文字列にエンコードする必要がある場合は、use base64です。

+1

しかし、base64のバージョンがかなり大きく、エンコード、転送、デコードに多くのCPU時間を要すると考えてください。 –

関連する問題