这是我的代码,使用HttpPost将一些DATA以Json格式发送到php服务器。如何上传图像和DATA?
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
}
提前致谢
答案 0 :(得分:1)
试试这个:
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
}
答案 1 :(得分:0)
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
}