如何在android中使用HttpPost将图像上传到服务器?

如何在android中使用HttpPost将图像上传到服务器?,android,image,upload,http-post,Android,Image,Upload,Http Post,下面是我使用HttpPost以Json格式向php服务器发送数据的代码。如何将图像与数据一起上载 HttpPost httppost = new HttpPost(urlToSendCheckListReport); JSONObject json = new JSONObject(); // prepare JSON data: json.put("tag_id", tagID); json.put("building_id", buildi

下面是我使用HttpPost以Json格式向php服务器发送数据的代码。如何将图像与数据一起上载

HttpPost httppost = new HttpPost(urlToSendCheckListReport);  
JSONObject json = new JSONObject();
        // prepare JSON data:
        json.put("tag_id", tagID);
        json.put("building_id", buildingID);
        json.put("timestamp", new SimpleDateFormat("dd-MM-yyyy, HH:mm:ss").format(Calendar.getInstance().getTime())); 

        JSONArray postjson=new JSONArray();
        postjson.put(json);  

        // Post the data:
        httppost.setHeader("json", json.toString());
        httppost.getParams().setParameter("jsonpost",postjson);  

   HttpResponse response = new DefaultHttpClient().execute(httppost);

    if(response != null)
    { 
     .....Read the response
    }
提前感谢

试试这个:

HttpPost httppost = new HttpPost(urlToSendCheckListReport);  
      JSONObject json = new JSONObject();
    // prepare JSON data:
    json.put("tag_id", tagID);
    json.put("building_id", buildingID);
    json.put("timestamp", new SimpleDateFormat("dd-MM-yyyy, HH:mm:ss").format(Calendar.getInstance().getTime())); 

    JSONArray postjson=new JSONArray();
    postjson.put(json);  

    StringEntity entity = null;
     try {
                    entity = new StringEntity(entityString);
                    entity.setContentType("application/json");
            } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
            }
    httppost.setEntity(entity);
    // Post the data:
    httppost.setHeader("json", json.toString());
    httppost.getParams().setParameter("jsonpost",postjson);  

HttpResponse response = new DefaultHttpClient().execute(httppost);

if(response != null)
{ 
 .....Read the response
}
HttpPost httppost = new HttpPost(urlToSendCheckListReport);  
JSONObject json = new JSONObject();
    // prepare JSON data:
    json.put("tag_id", tagID);
    json.put("building_id", buildingID);
    json.put("timestamp", new SimpleDateFormat("dd-MM-yyyy, HH:mm:ss").format(Calendar.getInstance().getTime())); 

    JSONArray postjson=new JSONArray();
    postjson.put(json);  

    // IMAGE
    BitmapFactory.Options o2 = new BitmapFactory.Options();
    o2.inSampleSize = scale;
    bitmap = BitmapFactory.decodeFile(filePath, o2);
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
    byte[] data = bos.toByteArray();
    String mediaString = Base64.encodeBytes(data);
    // /IMAGE

    // Post the data:
    httppost.setHeader("json", json.toString());
    httppost.getParams()
    .setParameter("jsonpost",postjson)
    .setParameter("image", new StringBody(mediaString));  //ADD IMAGE PARAMETER

   HttpResponse response = new DefaultHttpClient().execute(httppost);

    if(response != null)
    { 
     .....Read the response
    }
检查