2016-12-30 2 views
1

It's my MySql DBits my php page that is read streareader Son ecnoding: -Comment faire pour convertir l'image en chaîne dans Android?

public String convertBitmapToString(Bitmap bmp) { 
    ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
     bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); //compress to which format you want. 
     byte[] byte_arr = stream.toByteArray(); 
     String imageStr = Base64.encodeToString(byte_arr, 1); 
     return imageStr; 
} 

Ce décode: -

String img=o.toString(); 
    byte[] imageAsBytes = Base64.decode(img.getBytes(), Base64.DEFAULT); 
imageView.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)); 

Merci.

+0

puis, ce qui est erroné avec le code? –

+0

Que voulez-vous dire? Je ne vois aucune question – Ghorbanzadeh

+0

quelle est o référence? –

Répondre

3

Cela pourrait se faire par

private String getBase64String() { 

    // give your image file url in mCurrentPhotoPath 
    Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath); 

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
    // In case you want to compress your image, here it's at 40% 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 40, byteArrayOutputStream); 
    byte[] byteArray = byteArrayOutputStream.toByteArray(); 

    return Base64.encodeToString(byteArray, Base64.DEFAULT); 
} 

Et pour Decode

private void decodeBase64AndSetImage(String completeImageData, ImageView imageView) { 

    // Incase you're storing into aws or other places where we have extension stored in the starting. 
    String imageDataBytes = completeImageData.substring(completeImageData.indexOf(",")+1); 

    InputStream stream = new ByteArrayInputStream(Base64.decode(imageDataBytes.getBytes(), Base64.DEFAULT)); 

    Bitmap bitmap = BitmapFactory.decodeStream(stream); 

    imageView.setImageBitmap(bitmap); 
} 
+0

mon code de décodage est exact ?? –

+0

BitmapFactory.decodeStream (nouveau BufferedInputStream (flux));); –

+0

BitmapFactory.decodeStream (nouveau BufferedInputStream (flux));); decodeStream son erreur –