我已将多个图像和一些字符串数据上传到php服务器。如果我发送了3个图像,则表示网址调用3次,第1个图像发送一次,第2个图像将保存到服务器2次,第3个图像将保存3次。如何一次发送3张图片,并立即拨打网址。我尝试过这样的事情
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);
}
}