【发布时间】:2016-08-24 12:19:08
【问题描述】:
我想将图像上传到接受 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 空闲字节和 13MB 直到 OOM
我想对完整图像进行编码,有什么帮助吗?
【问题讨论】:
-
以流的形式发送。而不是将其存储在字节数组中。因为您的内存不足。
-
在谷歌上搜索
OutOfMemoryError -
@KZoNE 试试我的答案
-
通过多部分发送。上传图片的最佳方式
-
感谢@Doomsknight 的回答,发送前弹出错误,当我尝试设置编码字符串时?有什么想法吗?
标签: android image bitmap base64 encode