I have an image contents byte[] form. But when i load them through Glide then broken images are shown. what I'm doing is shown below.
Glide.with(context) .load(imageByteArray) .asBitmap() .placeholder(R.drawable.ic_broken) .into(rowImageView);
imageByteArray successfully converts to bitmap without using glide. So there is no wrong with image byte array.
Please guide me what I'm missing?
Also I'm using Glide library com.github.bumptech.glide:glide:3.6.1 And Android support library com.android.support:support-v13:23.0.1
Edited
Ok, This is what I'm doing.
String imageBytes = "HVao14fpmtHSev3OgsrQNsawkFzXNcY3BsfQla6..."
This string above defined is bytes of actual image which I'm receiving from web API.
I'm converting this String into byte array like this
public static byte[] hexStringToByteArray(String s) { int len = s.length(); byte[] data = new byte[len / 2]; for (int i = 0; i < len; i += 2) { data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i+1), 16)); } return data; }
Than I'm applying resultant byte array "imageByteArray" to Glide code defined above.
To simply load an image to LinearLayout, we call the with() method of Glide class and pass the context, then we call the load() method, which contains the URL of the image to be downloaded and finally we call the into() method to display the downloaded image on our ImageView.
Lets say your base64 string is
String imageBytes = "HVao14fpmtHSev3OgsrQNsawkFzXNcY3BsfQla6..."
You should convert imageBytes
String to array of bytes through
byte[] imageByteArray = Base64.decode(imageBytes, Base64.DEFAULT);
afterwards pass this imageByteArray
to Glide.
Glide.with(context) .load(imageByteArray) .asBitmap() .placeholder(R.drawable.ic_broken) .into(rowImageView);
You can convert Base64
String to image using the following
Glide.with(context) .load(Base64.decode(base64ImageString, Base64.DEFAULT)) .asBitmap() .placeholder(R.drawable.ic_broken) .into(rowImageView);
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