2016-08-29 5 views
0

여러 이미지 및 일부 문자열 데이터를 PHP 서버에 업로드했습니다. 데이터를 인쇄하고 싶습니다. 서버에 보내려합니다.안드로이드에 멀티 파트 엔티티의 전송 데이터를 인쇄하는 방법

ImageUploadTask 클래스는 {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); 
    } 

} 

}

그러나

E/mainToPost: [email protected]f2d390 
01,235 같은 출력 디스플레이 확장

모든 보내는 값을 인쇄하는 방법은 무엇입니까?

답변

1
String entityContentAsString = new String(byteoutputstream.toByteArray()); 
    Log.e("multipartEntitty:", "" + entityContentAsString); 

시도해보십시오.