我正处于项目中间。我想将图像从我的应用程序上传到服务器。我将图像从imageview编码并上传到服务器作为Base64字符串并将其解码回显示在imageview中。但是我遇到了问题将Base64字符串解码回bitmap。我正在
Caused by: java.lang.IllegalArgumentException: bad base-64
我用于编码和解码的代码如下:
用于编码:
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
System.out.println("PicturePath:"+picturePath);
imgImage.setImageBitmap(BitmapFactory.decodeFile(picturePath));
Bitmap bitmapOrg = BitmapFactory.decodeFile(picturePath);
System.out.println("15102015 bitmap:" + bitmapOrg.toString());
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 100, bao);
byte [] ba = bao.toByteArray();
ba1= Base64.encode(ba, Base64.DEFAULT).toString();
用于解码:
byte [] encodeByte=Base64.decode(model.getmImage().toString(), Base64.DEFAULT);
System.out.println("15102015 encodeByte:" + encodeByte.toString());
Bitmap bitmap;
try{
bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
imgImage.setImageBitmap(bitmap);
}catch(Exception e){
System.out.println("15102015 Exception e:" + e.toString());
}
其中model.getmImage()。toString()具有Base64字符串值。
请帮助我,因为我这几天过后了。我一定会验证你的答案。
提前致谢....