8
votes

Comment convertir une image en chaîne de base64

Je veux convertir l'image en codée 64 de base à la chaîne. à partir de celui à envoyer au serveur avec oma_status-icon code> format XML.

Mais je reçois un encodage non pris en charge à partir de la réponse du serveur ... P>

y a-t-il d'autre moyen de Convertissez l'image en chaîne de base64 ?? p>

plz..help ... p>

Mon code est: P>

        Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),  R.drawable.image);

        ByteArrayOutputStream bao = new ByteArrayOutputStream();
        bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 100, bao);
        byte [] ba = bao.toByteArray();

         String ba1=Base64.encodeBytes(ba);


1 commentaires

Si cela est utile, acceptez ensuite des réponses afin que d'autres personnes puissent utiles.


5 Réponses :


15
votes

Veuillez utiliser ce code .. xxx pré>

Importer strong> p>

import android.util.Base64;


6 commentaires

BASE64.DEFAULT: - Le passage par défaut entraîne une sortie qui adhère à la RFC 2045.


String Ba1 = base64.encodetostring (ba, base64.default); à cela, je reçois une erreur de base64.default ..... Comment peut suivre ??


base64.default non samll base64 utilisé base64.default


Lorsque j'envoie avec cette chaîne au format XML d'Oma_Status-icon via HTTP Mettez Reqest, je reçois un encodage non pris en charge .....


Je pense que peut être vérifiant le côté serveur. J'ai donné que le code est de 100% de travail dans ma demande.


Laissez-nous Continuez cette discussion en chat



2
votes

Essayez ci-dessous

ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte b [] = baos.toByteArray();
String base64String = Base64.encodeToString(b, Base64.DEFAULT);


0 commentaires

1
votes

Peut-être que vous pouvez essayer

String base64result = base64.encodetostring (YourByNeArray [], base64.default);


0 commentaires

3
votes
// convert from bitmap to byte array
public byte[] getBytesFromBitmap(Bitmap bitmap) {
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.JPEG, 70, stream);
    return stream.toByteArray();
}

// get the base 64 string
String imgString = Base64.encodeToString(getBytesFromBitmap(someImg), 
                       Base64.NO_WRAP);

0 commentaires

1
votes

Méthode:

import android.util.Base64;
import java.io.ByteArrayOutputStream;


0 commentaires