我正在开发一个应用程序,在其中需要从相机中捕获图像。捕获后,我需要将位图转换为Base64格式。在转换为Base64格式后,我需要将该字符串发送到服务器。我使用以下代码执行此任务:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] b = baos.toByteArray();
base64Image = Base64.encodeToString(b,Base64.DEFAULT);
问题: 当我将该Base64转换为图像时,我得到的是不完整的图像。在我的服务器上也出现了同样的结果,我的图像无法从Base64字符串完美地重构。
请给我建议解决方案。我已经进行了大量搜索,并且得到了与我现在使用的相同代码。
编辑:请查看下面的不完整图像
用于捕获图像的代码:
intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent, TAKE_PHOTO);
BitmapFactory.Options
中的options.inSampleSize
来改变图像的大小? - Muhammad Babar