2

「imagedata」という名前のノードを持つjsonを提供するWebサービスがあります。巨大なデータが文字列として含まれています。これをブラウザで印刷すると、有効な入力が得られます。Base64 でエンコードされた文字列は「=」文字で終わります。

HTML ページでこのタグを使用してテストしたところ、問題なく動作しました。

<img src="data:image/png;base64,MY_BASE64_ENCODED_STRING"/>

これが私のコードです。

StringBuilder b64 = new StringBuilder(dataObj.getString("imagedata"));
byte[] decodedByte = Base64.decode(b64.toString(), 0);
bitmap = BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);

このコードは小さい画像データで機能しますが、大きい画像データでは不適切な base64 例外が発生することに注意してください。

親切に助けてください、ありがとう

4

1 に答える 1