I am developing an android application which uploads Base64
String of image into web server. Therefore, I have used the following code to convert a Bitmap into Base64
String.
public String getEncoded64ImageStringFromBitmap(Bitmap bitmap) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteFormat = stream.toByteArray();
String imgString = Base64.encodeToString(byteFormat, Base64.NO_WRAP);
return imgString;
}
For example, I need to convert this image.
After the conversion, I'm not getting the Base64
String as I expected.
iVBORw0KGgoAAAANSUhEUgAAAIcAAAB7CAYAAABet5NoAAAABHNCSVQICAgIfAhkiAAAB/FJREFUeJzt3U1a4lgXB/D/uVQps3IBNuoKZEg56fQKml6BqRU0NdDXITWrBwbtDhp3oDuAicUQVoBYLkBmSndy3gHEDkgggZvkJjm/kR8hXPP8Pbk55IOQkJHVOCi97lnMqBJxFUwHAH4NWp6AMQMPAB4YeFBQ3V/637tJjTcuT2cXVYfJUqBjZq4CqAL4tOFlPRA/M9Mgye1Aca786eyiyqxsZrYAnGpabY8Jty6r25P+9wdN64zV4+fLOhh1AHVsDkJYsW8H7eEY1a6OFVxbATYDR7rXv6QHcKfSb3difp/IRrWr4xLcJvQGYjXiO4A6lR+tW62r1bUi38Y417XOsGa7IG6aEJKftSuLZ9shcJcZF93bYedwjKzGwYfX/SYz/6ljQLsgYMyEhu7/oDDS/OdYRsAYUPauc5OdwjHfl3YQd9mMrudA2UnNSca1yyYBDZi2HYjvnP1/7JPu9fNWL9/mRbMjj48dMP2+zesTMgG4EeeuZl4tbqFvsh2HCUHVt6kikcPxdHZRZZduE5hs6nLjlKeNbf97ghhcNVdi4NtRv9WM8ppI4XisXdgAXSMjG8Rn6JSnlq6AjD9fNojxl451Jeym0m/ZYRcOHY55MP7eZkQmIGBMiuuH9+3BLut5rF12YMCkcwc9pzyth/lHUWHWlvVgAAADR65L3aezi+q268hBMADg19LLXjfMghvDkYdg+HzaNiA5CYbndP73rLU2HLONSNfahmSGT+zS7chqHIR9Qc6C4Tkf1y6b6xYInHOMrMbBh5e9QYaOSqIKNUnNaTD+Q/gjqGkYWDlKrx87OQ4GAJxu2vfmPhgAwOgEVdGV4Zgdwxvd4NIlcN9biGDMfCq9fuys+sW73crIahyUXvYekL1exi4Wjv8LFIw3BPXbchf1XeX48LrfRLGCAQDns6OyYgZjxu0s/2Shcsw/KxglNh7z9JDCR+3m4C/+z6IWKsf8I+ciK3AwAAI1/d+/hWM+Y60nPSBhDgaOftauLO/7t3Co1z0bxZtriCUM1/a+fgsHMexVC4vCOff6Hgrw2uRGn7AiElR6+VgH5uFwmKxURyMMM8uDAgBimYiKBXVg3ud4rF1yumMRpnGgTpT/0EUIT4ncqnLJ3frMKJFfzKgqBTpOeRzCQARYan6ltxDLDhQBx2mPQhjpVOX8bC+xg1CXJohiknCIQBIOEUjCIQJJOEQgCYcIJOEQgSQcIpACMEl7EMJMCsBONzMR+SW7FRFIMdBNexDCTAoErXfZE/mhFCuZc4h3CBirf8svEg7xDgMP6qR7/Ty7V7YQ/yGigQIAJpbqIRYwu/NwMEk4xAKlMAuHguqmPBZhlsnhfXsWjjw8O01oRNwFFjukvXRGIozDuAV84ZBOqfA4KHUBXzhKihN/9JUw0tB7wtVbOA7v2wPpdwgmdLyvFz+VJZLqUXDu/rTjfb0QDqL3NyoVhXLjf1DAQjjmTzEaJj4kYQSC6vi/X3GyD+ft+SoinN7Ge59X+u2OTEyLiDvLP1l5miCDm3EPRRhluOr5uyvDIdWjWAiqserngScYS/UojHdzDU9gOOZlRo5ccs6BsoN+t/bShKByI/KBgW9eq3yVjU+k/vn5f9fM/KfWUQkTDCv91tqbBW68qOnf/demTE7zRym2Ny6zaYGT7vUzKZZ7o+cIE77Ou+Frhboc8vC+PWDg2+7DEqkjvjv60QrVBQ99rexRv9UE8d32oxIGGDr7/9hhF450IfV8xXJ4m00Tpdje9Hh2v41HK8uezi6qrktdyPPgsmSiFFth5hl+kW/BcHjfHijFVtTXiRQR7KjBALa8P8fsjfjLNq8VSeMvlR+trc7wi7xb8Zs94pv+3mUdIk6LT5iOaqdwABIQc+0WDEBDOAAJiHl2DwagKRyABMQQWx2VBNEWDkACkjKtwQA0302w0m93QPgDcm/TpGkPBqC5cnikUZaoWIIBxHQfUl+jTCpIvIZxBQOIqXJ4RlbjoPSy1wVwGuf7FNTQKU+tKJ+VRBVrOAAJSExiDwaQwO2tT7rXz055agG4ifu9CoH4LolgAAlUDr/H2mUHwHmS75kzN5V+y07qzRK9MX6l37LljLKtJRoMIOHK4ZFmWVR62uFRpfJIjdkfyl8gh7ohpBMMIKXK4ZFm2VoTgqqneRvQVMMBSEACxNb1jCL1JzUd3rcHTnl6DDlx2TN0oKppBwMwoHJ4pFkGIKHmVlipVw6PNMtwY1IwAIMqh18Bm2WJ9zDCMKZy+FX6LZsJX9MeRxKY8NXEYACGVg5P/ptl6fUwwjA6HADws3ZlMdxb5OtQdwKCve31JEkxPhxA7nohRvQwwjByzrHs8L49cKCqyH4vJNYzt3TLROXwZLwXYlQPI4xMVA5PhnshvawFA8hY5fDLUC/EyB5GGJmqHH4Z6YVkNhhAhiuHx9xeiNk9jDAyHw7AxF5I9oMB5CQcgDG9kNRP0NEps3OOZQb0QiZKsZWXYAA5CgcAnPS/P8wPdZMOSKaaW2HlKhxAKr2QoVOe5i4YQI7mHKsk0AvpOeVpPWvNrbByHQ4AGH++bBDjrxhWnekeRhi5DwcQSy8k98EAChIOQGcvJB89jDAKEw5ARy+kOMEAcni0ss4OvZAJQf1WpGAABascnojnhWTmzC3dClU5PBF6IcZcfZaGQlYOvzW9kMyduaVbISuH38rzQhK8tZLJCl85PL5eSCF6GGH8H2WNU29+inIcAAAAAElFTkSuQmCC
The real Base64 String it should be this (I use this website to convert)
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
What is the problem in my conversion ? Thank you !
compress(Bitmap. CompressFormat. PNG, 100, fos); fos. close(); final InputStream is = new Base64InputStream( new FileInputStream(yourFileHere) ); //Now that we have the InputStream, we can read it and put it into the String final StringWriter writer = new StringWriter(); IOUtils.
With elmah. io's free image to Base64 encoder, it's easy to copy and paste markup or style for exactly your codebase. Simply drag and drop, upload, or provide an image URL in the controls above and the encoder will quickly generate a Base64 encoded version of that image.
public static String encodeTobase64(Bitmap image) {
Bitmap immagex = image;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
immagex.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] b = baos.toByteArray();
String imageEncoded = Base64.encodeToString(b, Base64.DEFAULT);
return imageEncoded;
}
public static Bitmap decodeBase64(String input) {
byte[] decodedByte = Base64.decode(input, 0);
return BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With