Nie odpowiedź
Nie można przechowywać bajtów obrazu w ciągu (poprawnie). Możesz najpierw zakodować byte[]
używając Base64 do String. Może chociaż źle zrozumiałem i zrobiłeś to poprawnie. Sprawdź, czy zarejestrowałeś każdy wyjątek.
Oprócz przestarzałej wersji sun (która nie jest dostępna w każdym JDK), istnieje kilka innych konwersji Base64. W JavaEE:
import javax.xml.bind.DatatypeConverter;
String data = "...";
byte[] bytes = DatatypeConverter.parseBase64Binary(data);
String data = DatatypeConverter.parseBase64Binary(bytes);
Czy nie można przechowywać danych jako binarnego obiektu BLOB bez kodowania base64? To przynajmniej zaoszczędziłoby miejsce.
Innym błędem może być rosnący ponownie używany ByteArray lub inny trywialny błąd.