GAEではこのようにしてBlobを生成しています。
BlobInfo blobInfo = new BlobInfoFactory().loadBlobInfo("Blobにしたい画像のkey");
byte[] binary = blobstoreService.fetchData(key, 0, blobInfo.getSize());
hoge.setImageBlob(new Blob(binary));
このhogeクラスのimageBlobフィールドにBlobを格納し、JSONにして送信しています。
ブラウザでJSONを確認するとBlobの箇所が
"imageBlob":{"bytes":"iVBORw0KGgoAAAANSUhEUgAABAAAAAJACAYAAAA....//省略します。
となっております。
また皆様はバイナリデータを送信する場合、何か確認用のソフトなどをお持ちなのでしょうか?
このバイナリが送信したい画像のバイナリデータなのかを確認したいのですが、おすすめなど
ありましたら、ご教示ください。
よろしくお願い致します。
a-know様
さっそくのコメントありがとうございます。
普段は画像URLをJSONにして返していたのですが、
例えばHogeデータがあり、その中に画像URLのプロパティがあるとすると
Hogeデータを取得、その後に画像の取得となってしまい、2度アクセスすることになって
しまいます。
それをどうにか1度の通信で終了させるために今回バイナリでデータを返したいと
思っておりました。
a-know様の資料過去に拝見させて頂いた事のあるものでした。
ご本人からアドバイスを頂けた事、光栄に思います。
ありがとうございました。
najeira様
さっそくのコメントありがとうございます。
Base64にエンコードされているとのアドバイスを受け、確かにそのような気がします。
ですが、デコードしてもうまく表示できないので私の処理をもう一度見直してみます。
この場合、Blobそのものをデコードしているのですが、中身だけデコードどうにか
デコードできるといいのですが、、、、
iOSで受け取った際はNSData形式で取得し、NSDataをBase64デコードしています。
アドバイスありがとうございました。