Проблема в отправке нескольких изображений на сервер в Android

Я загрузил несколько изображений и некоторые строковые данные на сервер php. Если я отправил 3 изображения, это означает, что URL-вызов 3 раза, а также 1-е изображение отправляется один раз, 2-е изображение будет сохранено на сервере 2 раза, 3-е изображение будет сохранено 3 раза. . Как отправить 3 изображения одновременно, а также URL-адрес вызова. Я пробовал что-то вроде этого

class ImageUploadTask extends AsyncTask {
String sResponse = null;

@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
dialog = ProgressDialog.show(Room_addroom1.this, "Uploading",
"Please wait...", true);
dialog.show();
}

@Override
protected String doInBackground(String... params) {
try {

String url ="http://airbnb.abservetech.com/demo/public/mobile/hotel/roomsadd";
int i = Integer.parseInt(params[0]);
System.out.println("i---"+i);

SharedPreferences prefs = getSharedPreferences(MyPREFERENCES, MODE_PRIVATE);
String userID = prefs.getString("userid", null);

Bitmap bitmap = decodeFile(map.get(i));

HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost(url);
entity = new MultipartEntity();

ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
byte[] data = bos.toByteArray();

byte[] res=bos.toByteArray();

entity.addPart("room_images", new ByteArrayBody(data,
"image/jpeg", params[1]));

entity.addPart("user_id", new StringBody("52"));
entity.addPart("room_type",new StringBody( "premium"));
entity.addPart("room_prize", new StringBody("2356"));

httpPost.setEntity(entity);

ByteArrayOutputStream bytes = new ByteArrayOutputStream();

entity.writeTo(bytes);
Log.e("mainToPost", "roommainToPost----" + entity.toString());

HttpResponse response = httpClient.execute(httpPost,
localContext);
sResponse = EntityUtils.getContentCharSet(response.getEntity());

} catch (Exception e) {
if (dialog.isShowing())
dialog.dismiss();
Log.e(e.getClass().getName(), e.getMessage(), e);

}
return sResponse;
}

@Override
protected void onPostExecute(String sResponse) {
try {
if (dialog.isShowing())
dialog.dismiss();

if (sResponse != null) {
Toast.makeText(getApplicationContext(),
sResponse + " Photo uploaded successfully",
Toast.LENGTH_SHORT).show();
count++;
if (count < map.size()) {
new ImageUploadTask().execute(count + "", "hm" + count
+ ".jpg");
}
}

} catch (Exception e) {
Toast.makeText(getApplicationContext(), e.getMessage(),
Toast.LENGTH_LONG).show();
Log.e(e.getClass().getName(), e.getMessage(), e);
}
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]