Concatenate String将多个图像发送到服务器android

时间:2015-01-03 05:29:11

标签: android base64 stringbuilder

我需要从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();

1 个答案:

答案 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(",");