贫道望青楼 中创公司 Android 手机软件开发工程师  2015年10月03日
问题:将图片imgs[]数组作Base64转换后,放入Map<String,String>中,当通过webservice传的时候参数就不是Base64的那串很长
问题:将图片imgs[]数组作Base64转换后,放入Map<String,String>中,当通过webservice传的时候参数就不是Base64的那串很长很长的东西了。求解!先谢谢了。
问题截图如下:Debug的
1、这里已经把3张图片转码成base64的那一大串了

2、把鼠标放在imgs.toString()上看它的值,如下:

3、把鼠标放在paramValues上看传的参数的值,如下:

问题就在这里:传到后台的是红框里的而不是base64的那一大串了,为什么啊?

关键代码给附上:
private Map<String, String> paramValues; 
private String[] imgs;
imgs = new String[Bimp.bmp.size()];
for (int i = 0; i < Bimp.bmp.size(); i++) {
imgs[i] =FileUtils.Bitmap2StrByBase64(Bimp.bmp.get(i));
}
wb_content = et_wb_content.getText().toString();
String from = "1";//1-Android 2-ios 0-网站
paramValues = new HashMap<String, String>();
paramValues.put("uid", userId);
paramValues.put("content", wb_content);
paramValues.put("from", from);
paramValues.put("imgs", imgs.toString());

params = paramValues.toString();
methodName = ConstantUtils.REALEASEWB;
resultString = CallService.queryRemoteInfor(methodName, params);

另附FileUtils中方法:
public static String Bitmap2StrByBase64(Bitmap bit){
ByteArrayOutputStream bos=new ByteArrayOutputStream();
bit.compress(CompressFormat.JPEG, 90, bos);
byte[] bytes=bos.toByteArray();
return Base64.encodeToString(bytes, Base64.NO_WRAP);
}
另附Bimp中bmp列表:
public static List<Bitmap> bmp = new ArrayList<Bitmap>();
...全文
166 点赞 收藏 2
写回复
2 条回复

还没有回复,快来抢沙发~

发动态
发帖子
Android
创建于2009-10-09

4.6w+

社区成员

9.0w+

社区内容

移动平台 Android
社区公告
暂无公告