我需要从Android设备发送多个图像到php服务器。所以将图像编码为base64,然后编码为字符串格式,但现在我需要将所有图像的base64与逗号拼接为seperator,并使用单个键/名称发送List<NameValuePair>
。我试图在StringBuilder中使用append()但是不能用逗号来附加列表。
这是我的代码:
if (ar2.size() != 0) {
for(int i=1;i<ar2.size();i++){
Bitmap bm = BitmapFactory.decodeFile(ar2.get(i));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();
encodedString = Base64.encodeToString(b, 0);
encodedString = new StringBuilder(String.valueOf(encodedString)).append(",").toString();
}//end of for
Log.e("Multiple Images with comma seperated :", encodedString);
}
nameValuePairs.add(new BasicNameValuePair("newsImages", encodedString));
我的问题:是否可以将带有逗号分隔符的多个图像编码为base64作为单个字符串发送到服务器?
我被困在附加行:
encodedString = new StringBuilder(String.valueOf(encodedString)).append(",").toString();
答案 0 :(得分:1)
使用
encodedString = Base64.encodeToString(b, Base64.NO_WRAP);
而不是
encodedString = Base64.encodeToString(b, 0);
类似的东西:
StringBuilder stringBuilder = new StringBuilder();
encodedString = Base64.encodeToString(b, Base64.NO_WRAP);
stringBuilder.append(encodedString);
stringBuilder.append(",");