Non è la risposta
Non è possibile mantenere i byte di un'immagine in una stringa (correttamente). Puoi prima codificare il byte[]
utilizzando Base64 in una stringa. Forse anche se ho frainteso e l'hai fatto correttamente. Verifica di aver registrato tutte le eccezioni.
Ci sono altre conversioni Base64 oltre alla versione deprecata di Sun (che non è disponibile in tutti i JDK). In JavaEE:
import javax.xml.bind.DatatypeConverter;
String data = "...";
byte[] bytes = DatatypeConverter.parseBase64Binary(data);
String data = DatatypeConverter.parseBase64Binary(bytes);
Non puoi archiviare i dati come BLOB binario, senza la codifica base64? Almeno risparmierebbe spazio.
Un altro errore potrebbe essere la crescita di ByteArray riutilizzati o qualche altro bug banale.