Я хочу загрузить изображение на сервер, который принимает изображения в формате base64. Я использую этот код для кодирования растрового изображения, но он кодирует только половину изображения, а сервер получает только половину части изображения.Получение половины изображения при преобразовании растрового изображения в base64
Это мой код.
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.PNG, 10, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);
// Send to server(encoded)
и когда я пытаюсь кодировать изображение из галереи, он выдает сообщение об ошибке и сбой приложения с ошибкой.
java.lang.OutOfMemoryError: Не удалось выделить распределение 15521174 байт с 13777320 свободных байтов и 13МБ до OOM
Я хочу, чтобы закодировать полный образ, любую помощь?
Пошлите его как ручей. Вместо того, чтобы хранить его в массиве байтов. Поскольку у вас заканчивается память. – Doomsknight
поиск по google 'OutOfMemoryError' –
@KZoNE попробуйте мой ответ –