Jaki jest kod do przekształcenia obrazu (maksymalnie 200 KB) na ciąg Base64?
Muszę wiedzieć, jak to zrobić z Androidem, ponieważ muszę dodać funkcję przesyłania obrazów na zdalny serwer w mojej głównej aplikacji, umieszczając je w wierszu bazy danych jako ciąg.
Szukam w Google i Stack Overflow, ale nie mogłem znaleźć łatwych przykładów, na które mnie stać, a także znajduję kilka przykładów, ale nie mówią o przekształceniu w String. Następnie muszę przekształcić w ciąg znaków do przesłania przez JSON na mój zdalny serwer.
Zamiast używać
Bitmap
, możesz to również zrobić za pomocą trywialnego plikuInputStream
. Cóż, nie jestem pewien, ale myślę, że to trochę wydajne.źródło
Jeśli potrzebujesz Base64 przez JSON, sprawdź Jackson : ma wyraźną obsługę odczytu / zapisu danych binarnych jako Base64 zarówno na niskim poziomie (JsonParser, JsonGenerator), jak i na poziomie wiązania danych. Możesz więc mieć POJO z właściwościami byte [], a kodowanie / dekodowanie jest obsługiwane automatycznie.
I całkiem efektywnie, jeśli to ma znaczenie.
źródło
źródło
Ten kod działa idealnie w moim projekcie:
źródło
Jeśli robisz to na Androidzie , oto pomocnik skopiowany z bazy kodu React Native :
źródło
Oto kod kodowania i dekodowania w Kotlin:
źródło
źródło
Poniżej znajduje się pseudokod, który może Ci pomóc:
źródło
Konwertuj obraz na ciąg Base64 w systemie Android:
źródło
Oto kod do kodowania i dekodowania obrazu.
W pliku XML
W pliku Java:
źródło
Dla tych, którzy szukają wydajnej metody konwersji pliku obrazu na ciąg Base64 bez kompresji lub najpierw konwertowania pliku na mapę bitową, możesz zamiast tego zakodować plik jako base64
Mam nadzieję że to pomoże!
źródło
Użyj tego kodu:
źródło