我想將圖像上傳到服務器,該圖像以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:無法分配與13777320個免費字節一個字節15521174分配和13MB直到OOM
我想編碼完整的圖像,任何幫助嗎?
將其作爲流發送。而不是將其存儲在字節數組中。當你內存不足時。 – Doomsknight
谷歌搜索'OutOfMemoryError' –
@KZoNE試試我的答案 –