gpt4 book ai didi

java - 将 Bitmap 对象转换为存在问题的 Base64 字符串

转载 作者:行者123 更新时间:2023-12-02 08:08:21 24 4
gpt4 key购买 nike

我有一个简单的应用程序,其中从相机抓取图像,然后传递给我的 onActivityResult() 方法。但是,我无法将位图对象编码为 Base64 字符串。 Eclipes 告诉我,行 byte[] returned Image = Base64.encode(b, Base64.DEFAULT); 应该是 byte[] 而不是 String,所以这就是我认为问题所在的地方(因此,它下面的行试图将其强制作为字符串对象)。我的代码如下,该方法被触发并出现日志,但数据不是base64。

谁能帮帮我。

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
switch(requestCode){
case TAKE_PHOTO_CODE:
if( resultCode == RESULT_OK ){
Bitmap thumbnail = (Bitmap) intent.getExtras().get("data");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();
byte[] encodedImage = Base64.encode(b, Base64.DEFAULT);
String encodedImageStr = encodedImage.toString();

Log.e("LOOK", encodedImageStr);


}
// RESULT_CANCELED
break;
}
}

最佳答案

数组对象的toString不对数组的内容做任何事情

你应该使用

String encodedImageStr = new String(encodedImage);

或者您可以直接使用

转到字符串
String encodedImageStr = Base64.encodeToString(b,Base64.DEFAULT);

关于java - 将 Bitmap 对象转换为存在问题的 Base64 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7806582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com