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);
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.
Based on above answer, Encode :
String imageEncoded = Base64.encodeToString(b,Base64.NO_WRAP | Base64.URL_SAFE);
Decode :
byte[] decodedByte = Base64.decode(value, Base64.NO_WRAP | Base64.URL_SAFE);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.