Convert Image to Base64 String Android - android

I am able to get an encoded String using the following code :
public static String encodeToBase64(Bitmap image, Bitmap.CompressFormat compressFormat, int quality) {
ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream();
image.compress(compressFormat, quality, byteArrayOS);
return Base64.encodeToString(byteArrayOS.toByteArray(), Base64.NO_WRAP);
}
BitmapDrawable drawable = (BitmapDrawable) imgPreview.getDrawable();
Bitmap bitmap = drawable.getBitmap();
encodedImage = encodeToBase64(bitmap, Bitmap.CompressFormat.JPEG, 100);
I get the following as String
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
But when i try to decode it using http://freeonlinetools24.com/base64-image nothing shows.

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteStream);
byte[] byteArray = byteStream.toByteArray();
String baseString = Base64.encodeToString(byteArray,Base64.DEFAULT);
This worked for me.

I have found out the problem. The problem was with the logcat from where i was copying the encoded string. Logcat didn't display the entire String so the broken string didn't decode the image for me.
So when i passed the encoded string directly to the decode function the image was visible.

I checked an image with given link http://freeonlinetools24.com/base64-image and it works fine. I think the reason for getting wrong output is your string. Encoded string always ends with == . Check your encoded string.
Example Code
Encode Image
BitmapDrawable drawable = (BitmapDrawable) imgPreview.getDrawable();
Bitmap bitmap = drawable.getBitmap();
encodedImage = encodeToBase64(bitmap, Bitmap.CompressFormat.JPEG, 100);
public static String encodeToBase64(Bitmap image, Bitmap.CompressFormat compressFormat, int quality)
{
ByteArrayOutputStream byteArrayOS = new ByteArrayOutputStream();
image.compress(compressFormat, quality, byteArrayOS);
return Base64.encodeToString(byteArrayOS.toByteArray(), Base64.DEFAULT);
}
Decode Image
Bitmap bitmap = decodeBase64(encodedImage );
img.setImageBitmap(bitmap);
public static Bitmap decodeBase64(String input)
{
byte[] decodedBytes = Base64.decode(input,0);
return BitmapFactory.decodeByteArray(decodedBytes, 0, decodedBytes.length);
}
EDITED
see my string..
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

You can use the Base64 Android class:
String encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);
You'll have to convert your image into a byte array though. Here's an example:
Bitmap bm = BitmapFactory.decodeFile("/path/to/image.jpg");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();

Encode/Convert image to base64 string
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.yourimage);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String imageString = Base64.encodeToString(imageBytes, Base64.DEFAULT);

Related

convert image.jpg to Base64 string

error log is image:null
my problem is not proper convert image to base64.
my code encode image
BitmapDrawable drawable = (BitmapDrawable) ivProfilePic.getDrawable();
Bitmap bitmap = drawable.getBitmap();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 40, bos); byte[] bb = bos.toByteArray();
String encodedString = Base64.encodeToString(bb,Base64.DEFAULT);
Log.d("ImageBase34", encodedString);
decode string to covert image
byte[] decodedString = Base64.decode(userDetailBean.getProfile_picture().getBytes(), Base64.DEFAULT);
Bitmap base64Bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
Log.d("img", String.valueOf(base64Bitmap));
ivProfilePic.setImageBitmap(base64Bitmap);
Use the encodedString as the first parameter in the Base64.decode() method instead of userDetailBean.getProfile_picture().
You need to change your code like this.
BitmapDrawable drawable = (BitmapDrawable) getDrawable(R.drawable.ic_default_user);
Bitmap bitmap = drawable.getBitmap();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 40, bos); byte[] bb = bos.toByteArray();
encodedString = Base64.encodeToString(bb,Base64.DEFAULT);
Log.d("ImageBase34", encodedString);
decode string to covert image
byte[] decodedString = Base64.decode(encodedString, Base64.DEFAULT);
Bitmap base64Bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
Log.d("img", String.valueOf(base64Bitmap));
imageView.setImageBitmap(base64Bitmap);

How to convert Bitmap to Base64 String

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 !
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);
}
use the following snippet to convert bitmap to byte array:
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();
then to encode base64 from byte array use the following statement:
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);
public String getBase64ImageString(Bitmap photo) {
String imgString;
if(photo != null) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
byte[] profileImage = outputStream.toByteArray();
imgString = Base64.encodeToString(profileImage,
Base64.NO_WRAP);
}else{
imgString = "";
}
return imgString;
}
Pass your Bitmap in the parameters you will get your image string.

Issue in Covert from String Base64 to Bitmap

Code stuff for convert from Bitmap to String Base64
Bitmap thumbnail = extras.getParcelable("data");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 100, baos);
thumbnail.recycle();
byte[] b = baos.toByteArray();
String attachment = Base64.encodeToString(b, Base64.DEFAULT);
Code stuff for convert from String Base64 to Bitmap
byte[] encodeByte = Base64.decode(strBase64, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
imageView.setImageBitmap(bitmap);
but i get bitmap = null;
I also refer Base64 to Bitmap to display in ImageView
Thanks in advance.
// convert Bitmap to String
public static String BitMapToString(Bitmap bitmap) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] arr = baos.toByteArray();
imageData = Base64.encodeToString(arr, Base64.DEFAULT);
return imageData;
}
// Convert String to Bitmap
public static Bitmap StringToBitMap(String image) {
try {
byte[] encodeByte = Base64.decode(image, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0,
encodeByte.length);
return bitmap;
} catch (Exception e) {
e.getMessage();
return null;
}
}
You are calling thumbnail.recycle(); after loading bitmap,, either remove it or call before loading bitmap

compress bitmap to string android

Hi guys I have a problem when I go to encode the image to a bitmap and then do a comparison with the decode an encoded image with tools via the Internet but does not give me the same decoding and can not figure out why.
String path = "/sdcard/bluetooth/bluetooth.png";
Bitmap bitmap = BitmapFactory.decodeFile(path);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, bao);
byte [] ba = bao.toByteArray();
String ba1=Base64.encodeToString(ba,Base64.DEFAULT);
I used the below for encoding and decoding and it works fine for me
Encode
public static String encodeTobase64(Bitmap image)
{
Bitmap immagex=image;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
immagex.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();
String imageEncoded = Base64.encodeToString(b,Base64.DEFAULT);
Log.e("LOOK", imageEncoded);
return imageEncoded;
}
Try the below for decoding and set the resulting bitmap to imageview and check with the original.
Decode.
public static Bitmap decodeBase64(String input)
{
byte[] decodedByte = Base64.decode(input, 0);
return BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
}

How to convert ImageView image to byte code by using Base64 encode?

I am working with an image. In my application I have displayed an image from drawable and set that drawable image to ImageView. When I click on a button I would like to encode the ImageView image to byte code by using Base64.
I have implemented code as follows:
((ImageView)findViewById(R.id.imageView1)).setImageResource(R.drawable.person);
((Button)findViewById(R.id.button1)).setOnClickListener(new OnClickListener() {
#Override
public void onClick(View v) {
((TextView)findViewById(R.id.textView1)).setText("Get((ImageView)findViewById(R.id.imageView1)) image Base64.encode() here");
}
});
How can I get the encoded imageView1 image to byte code?
Can anybody please help me.
Try this...
Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.images);
ByteArrayOutputStream stream=new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);
byte[] image=stream.toByteArray();
System.out.println("byte array:"+image);
String img_str = Base64.encodeToString(image, 0);
System.out.println("string:"+img_str);
Now set that string to your Textview as
tv.setText(img_str);
Look at this code,
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.person)
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bMap .compress(Bitmap.CompressFormat.PNG, 100, baos);
//bMap is the bitmap object
byte[] b = baos.toByteArray();
String encodedString = Base64.encodeToString(b, Base64.DEFAULT)
use this
public String encode(Bitmap icon) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
icon.compress(Bitmap.CompressFormat.PNG, 50, baos);
byte[] data = baos.toByteArray();
String test = Base64.encodeBytes(data);
return test;
}`

Categories

Resources