Подтвердить что ты не робот

Android конвертирует кодировку base64 в изображение

Я хочу преобразовать кодировку base64 в bitmap, чтобы я мог поместить ее в изображение, но получаю ошибку, например

D/skia (7490): --- декодер- > декодировать возвращенное значение false, а битмап возвращает нулевое значение

Мой код:

byte[] imageAsBytes = Base64.decode(imageData);

image.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length));
4b9b3361

Ответ 1

Фрагменты вы должны проверить, что строка, которую вы хотите декодировать, vaild и имеет назначенное значение для декодирования, и для этого вы можете сделать что-то вроде ниже:

filePath= Environment.getExternalStorageDirectory()
                        + "/SaudiScore/temporary_holder.jpg";
Bitmap selectedImage =  BitmapFactory.decodeFile(filePath);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
selectedImage.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
String strBase64=Base64.encodeToString(byteArray, 0);

то вы можете декодировать строку, которую вы только что закодировали, и вернуть изображение, выполнив что-то вроде следующего:

byte[] decodedString = Base64.decode(strBase64, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
image.setImageBitmap(decodedByte);

Ответ 2

byte[] decodedString = Base64.decode(mBase64string, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0,decodedString.length);
mImageView.setImageBitmap(decodedByte);

Ответ 3

String base = "Base64 string values of some image";

byte[] imageAsBytes = Base64.decode(base.getBytes(), Base64.DEFAULT);

ImageView image = (ImageView) this.findViewById(R.id.imageView1);

image.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length));

Попробуйте этот код.

Ответ 4

Этот метод может помочь:

private void setExistImage(ImageView imageView, String base64String){
    if (!base64String.isEmpty()) {
        byte[] bytes = Base64.decode(base64String, Base64.DEFAULT);
        imageView.setImageBitmap(BitmapFactory.decodeByteArray(bytes, 0, bytes.length));
    }
}

Ответ 5

Декодировать/конвертировать строку base64 в изображение

    imageBytes = Base64.decode(imageString, Base64.DEFAULT);
    Bitmap decodedImage = BitmapFactory.decodeByteArray(imageBytes, 0,imageBytes.length);
    image.setImageBitmap(decodedImage);

Ответ 6

 byte[] decodedString = Base64.decode(strBase64, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
image.setImageBitmap(decodedByte);

Я использовал вышеупомянутое решение. Он всегда возвращал ошибки, такие как декодированный String is null, IllegalStateException.. Все, что я сделал, я только что обернул это в ловушке попытки