2015-01-03 2 views
1

Мне нужно отправить несколько изображений с Android-устройства на php-сервер. поэтому закодировал изображения на base64, а затем в строковый формат, но теперь мне нужно объединить все base64 изображения с запятой в качестве разделителя и отправить в List<NameValuePair> с одним ключом/именем. Я попытался использовать append() с StringBuilder, но coud не получил добавленный список с запятой.Concatenate String для отправки нескольких изображений на сервер android

Вот мой код:

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

Что вы получаете на стороне сервера? Вместо этого он добавляет новые строки? – BzH

+0

На самом деле, когда я просмотрел logcat, я получаю только одну строку без запятой – Anitha

ответ

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(","); 
+0

Все тот же самый только разделитель строк удален – Anitha

+0

все тот же ... comme не добавляется к строке – Anitha

+0

Спасибо. Я использовал Base64.DEFAULT, и после того, как я перешел на Base64.NO_WRAP, я получил результат, который хотел. – groff07

Смежные вопросы