Не е отговорът
Не можете да запазите байтовете на изображение в низ (правилно). Първо можете да кодирате byte[]
използване на Base64 в низ. Може би, въпреки че не съм разбрал, и сте го направили правилно. Проверете дали сте регистрирали всяко изключение.
Има някои други преобразувания на Base64 освен отхвърлената версия на sun (която не е налична във всеки JDK). В JavaEE:
import javax.xml.bind.DatatypeConverter;
String data = "...";
byte[] bytes = DatatypeConverter.parseBase64Binary(data);
String data = DatatypeConverter.parseBase64Binary(bytes);
Не можете ли да съхранявате данните като двоичен blob, без кодиране base64? Това поне ще спести място.
Друга грешка може да е нарастващ повторно използван ByteArray или нещо друго тривиално бъг.