Ich brauche ein Bild an einen Server zu senden, ich ein Bild von 3,30 MB Größe habe, wir wandeln es in Byte-Array mit:Android Base64 Zeichenfolge viel größer als das Bild, gibt
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
dann base64 Verwendung:
Base64.encodeToString(byteArray , Base64.DEFAULT)
EDIT: Wenn ich die Länge des Byte-Array überprüfen (bytearray) ist 20 MB! aber auf dem PC oder dem Telefon die Größe zeigen 3.30 MB
Die Länge der zurückgegebenen Zeichenfolge beträgt 28 MB, jede Erklärung und Lösung?
„Ich habe ein Bild von 3,30 MB Größe“ - was ** ** genau meinen Sie, dass ? Messen Sie den Speicherverbrauch von 'bmp? Beziehen Sie sich auf die Größe einiger Dateien, die Sie zum Erstellen von 'bmp' verwenden? Meinst du etwas anderes? – CommonsWare
Es ist die Größe, die angezeigt wird, wenn ich auf die Bildeigenschaften klicke. –