2013-02-09 45 views
9

モバイルアプリケーションでサーバーに画像をアップロードできるようにしたい場合は、Rails 3.2.11nginxです。Base64画像のアップロードVSバイナリ画像のアップロード?

私は、約Base64のエンコーディングをクライアント側でエンコードし、次にサーバー側でデコードしています。

なぜバイナリマルチパートヘッダーをhttpリクエストでアップロードしてみませんか?

プロフェッショナルごとにがありますか?

答えて

16

Base64は、バイナリデータのASCII表現にデータを変換します。たとえば、JSONなどのテキストストリームにデータを埋め込むことができます。 Base64は転送されるデータのサイズを33%増加させます。

multipart/form-dataは、HTTP要求でバイナリデータを転送する標準的な方法です。転送するパートごとに特定のエンコード/コンテンツタイプを使用することができます。私の意見では、特定の要件やデバイス/ SDKの機能を持たない限り、マルチパートのアップロードに固執するべきです。

1

「httpリクエストでマルチパートヘッダーでバイナリアップロードを使用するだけではどうですか?確かになぜそうではありません;)

Base64イメージの表現は、イメージをレンダリングするために直接html内に置くことができます。

バイナリは、より少ない領域を占有します。さらに、ネットワーク効果と標準化のメリットがあります。例えば。あなたがamazonのシンプルなセキュアなストレージS3を使いたい場合は、バイナリファイルを保存する必要があります。たとえば、キー/値ストアが必要な文字列を格納することはできません。赤い