0

Base64を使用してサーバーに画像をアップロードしています-

private String convertBitmapToString(ImageView imgview) {
    imgview.buildDrawingCache();
    Bitmap objbmap = imgview.getDrawingCache();
    ByteArrayOutputStream objbitmapArrayStream = new ByteArrayOutputStream();
    objbmap.compress(Bitmap.CompressFormat.JPEG, 90, objbitmapArrayStream);
    byte[] objbitmaparray = objbitmapArrayStream.toByteArray();
    String img_string = Base64.encodeBytes(objbitmaparray);
    return img_string;
}

そして、その画像が再びヒットしたことを表示したい場合、PHPサーバーは次のように応答します-

     "picture":"\/9j\/4AAQSkZJRgABAQAAAQABAAD\/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT\/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT\/wAARCABGAEcDASIAAhEBAxEB\/8QAHwAAAQUBAQEBAQE"

デコードできません。提案してください。

4

1 に答える 1

0

サーバーは明らかにbase64でエンコードされた画像を提供します。これは、オンラインのbase64デコーダーが文字列をデコードしたときにこれを示したためです。

�JFIF�������C�

これは正しい画像コンテンツの兆候であるため、デコードするだけです。

BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(encodedBytes);
于 2012-08-24T06:22:20.447 に答える