0

Google App Engine(GAE)でメールで受信したbase64でエンコードされた画像をデコードしたい。MimeMessageから画像を抽出すると、base64DecoderStreamオブジェクトが取得されます。私は当初、このデコードされたデータがARGB形式のバイト配列であると想定していましたが、ここではそうではないようです。デコードされたバイト配列を「ImageIO.read(ImageFile).getRGB()」を実行して得られたものと比較することでこれを確認しましたが、一致しませんでした。

だから私は疑問に思っていました:-

1)base64で画像をデコードした後、どの画像形式データを取得しましたか?

2)GAEで実際の画像PNGまたはJPGを取得するにはどうすればよいですか?

3)最後に、GAEで受信した電子メール画像をARGB形式で取得する方法はありますか?

どんな助けでも大歓迎です...ありがとう

4

1 に答える 1

1

Base64でエンコードされたデータは画像ファイル自体であり、解凍されたピクセルデータではありません。メッセージに添付された実際のファイルです。したがって、Base64データをデコードした後、この特定のケースでは、バイナリPNGファイルがありました。

画像として操作するには、いくつかのオプションがあります。

  1. デコードされbyte[]たものをに直接渡しImagesServiceFactory.makeImage()ます。
  2. デコードされbyte[]たファイルに書き込み、を呼び出しますImagesServiceFactory.makeImageFromFilename()
  3. デコードさbyte[]れたものをとしてデータベースに保存してBlobから、を呼び出しますImagesServiceFactory.makeImageFromBlob()

一度それを行うと、残念ながら、Googleの組み込みAPIを使用してARGBデータを取得する簡単な方法があるようには見えません。ここで説明する解決策が役立つ場合があります: googleappengineで画像のピクセル値を抽出します

于 2012-09-11T23:44:05.070 に答える