我正在尝试将图片从 android 上传到远程服务器。除了大照片外,一切正常。我在 Base64.encodeBytes() 方法中得到“内存异常”。这是代码。
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream); //compress to which format you want.
byte [] byte_arr = stream.toByteArray();
String image_str = Base64.encodeBytes(byte_arr);
你们能帮我解决这个问题吗?我之前曾尝试通过对位图进行采样来解决这个问题,它确实有效,但它缩小了位图,我总是想以其原始大小上传图片。
谢谢。
最佳答案
我之前遇到过同样的大图像问题...我刚刚在将位图转换为 Base64 之前缩放了位图...您可以按如下方式使用它...
bitmap=Bitmap.createScaledBitmap(bitmap, 100, 100, true);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); //compress to which format you want.
byte [] byte_arr = stream.toByteArray();
String image_str = Base64.encodeBytes(byte_arr);
关于android - Base64 encodeBytes - 内存不足异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9390428/