duanjue2560 2014-01-10 19:21
浏览 333
已采纳

在android中使用Base64

I am converting my image to byte array then to base64 string it coverts and decodes perfectly but when i saves that string to mysql database using php and retrieves it from database it do not decodes that and says bad base64

Here is my code.

php

$sql = "insert into users(username, password, email,mob,imagetext)
                            values ('".$username."', '".$password."', '".$email."', '".$mob."', '".$imageText."') ";                            

android

encode

 ByteArrayOutputStream baos = new ByteArrayOutputStream();  
 Bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
 byte[] b = baos.toByteArray();
 String imageEncoded = Base64.encodeToString(b,Base64.DEFAULT);

Decode

 byte[] decodedByte = Base64.decode(value, Base64.DEFAULT);                     
 b = BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
  • 写回答

2条回答 默认 最新

  • doudou0612 2014-01-10 20:38
    关注

    Try changing the Base64 encoding options from Base64.DEFAULT. You should use Base64.URL_SAFE which will use characters that wont need to be url encoded when sent to your php script. Also consider using Base64.NO_WRAP which will prevent MIME new lines from being added to your base 64 output.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?