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

Я загружаю несколько изображений и некоторые строковые данные на php-сервер. Если я отправляю 3 изображения, это означает, что URL-адрес 3 раза, а также 1-е отправление изображения один раз, второе изображение будет сохраняться на сервере как 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); } }