1

下面是我用来通过在我的 android 项目中导入 android.util.Base64 将图像文件从位图编码为 base64 字符串的代码部分:`

Bitmap img_bmp=BitmapFactory.decodeStream(getContentResolver().
openInputStream(this.browseImageURI));

ByteArrayOutputStream baos = new ByteArrayOutputStream();  
img_bmp.compress(Bitmap.CompressFormat.JPEG, 30, baos); 
byte[] image = baos.toByteArray();
 String profile_img = Base64.encodeToString(image, Base64.DEFAULT);

` 字符串 profile_img 将作为字符串保存在 mysql 数据库中。当我从数据库中检索字符串值时,我将使用以下代码将图像字符串从字符串解码为位图:

`

Intent i = getIntent(); //pass the value from previous activity
str_img= i.getStringExtra("img");
img_bm = StringToBitMap(str_img);
imgview = (ImageView)findViewById(R.id.imageView1);
imgview.setImageBitmap(img_bm); // display the image

//Function to convert string to bitmap
    public Bitmap StringToBitMap(String image){
           try{
               byte [] encodeByte=Base64.decode(image,Base64.DEFAULT);
               Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
               return bitmap;
             }catch(Exception e){
               e.getMessage();
              return null;
             }
     }

` 我预计它会显示图像,但是图像没有显示,并且我从 Base64 解码器收到一条日志消息“---解码器->解码返回错误”。

有人可以帮我弄清楚我的代码有什么问题吗?

有谁知道如何将 base64 字符串图像(从 JSON 传递到 php 脚本)转换为 blob 格式,以便我可以将其作为 BLOB 存储在 mysql 中。先感谢您。

4

0 回答 0