android提交图片和json,Android:使用MultiPartEntityBuilder上传图片和JSON

我尝试将数据上传到服务器,我的数据包含多张图片和大图片JSON,在此之前,我尝试使用将图片转换为字符串,base64并使用之前发送过的其他数据和图片JSON,但是我OutOfMemory在这里遇到问题,因此,我阅读了其中一种必须尝试使用​​的解决方案MultipartEntityBuilder。我仍然感到困惑,不知道如何使用它MultiPartEntityBuilder,有没有人可以帮助我使用该方法MultiPartEntityBuilder呢?这是我的代码:

try{

//membuat HttpClient

//membuat HttpPost

HttpPost httpPost= new HttpPost(url);

SONObject jsonObjectDP= new JSONObject();

System.out.println("file audio "+me.getModelDokumenPendukung().getAudio());

jsonObjectDP.put("audio_dp",MethodEncode.EncodeAudio(me.getModelDokumenPendukung().getAudio()));

jsonObjectDP.put("judul_audio",me.getModelDokumenPendukung().getJudul_audio());

jsonObjectDP.put("ket_audio",me.getModelDokumenPendukung().getKet_audio());

JSONArray ArrayFoto= new JSONArray();

//This loop For my multiple File Images

ListListFoto=me.getModelDokumenPendukung().getListFoto();

for (int i=0; i

JSONObject jsonObject= new JSONObject();

jsonObject.put("foto", ListFoto.get(i).getFile_foto());

jsonObject.put("judul_foto", ListFoto.get(i).getJudul_foto());

jsonObject.put("ket_foto", ListFoto.get(i).getKet_foto());

ArrayFoto.put(jsonObject);

}

JSONObject JSONESPAJ=null;

JSONESPAJ = new JSONObject();

JSONObject JSONFINAL = new JSONObject();

JSONESPAJ.put("NO_PROPOSAL",me.getModelID().getProposal());

JSONESPAJ.put("GADGET_SPAJ_KEY",me.getModelID().getIDSPAJ());

JSONESPAJ.put("NO_VA",me.getModelID().getVa_number());

JSONESPAJ.put("Dokumen_Pendukung",jsonObjectDP);

JSONFINAL.put("ESPAJ", JSONESPAJ);

JSONFINAL.put("CLIENT", "ANDROID");

JSONFINAL.put("APP", "ESPAJ");

MultipartEntityBuilder multiPartEntityBuilder= MultipartEntityBuilder.create();

multiPartEntityBuilder.addPart("ESPAJ",JSONFINAL.toString());

httpPost.setEntity(multiPartEntityBuilder.build());

HttpResponse httpResponse = httpclient.execute(httpPost);

inputStream = httpResponse.getEntity().getContent();

if(inputStream != null)

result = convertInputStreamToString(inputStream);

else

result = "Did not work!";

}catch(OutOfMemoryError e){

Log.e("MEMORY EXCEPTION: ", e.toString());

} catch(ConnectTimeoutException e){

Log.e("Timeout Exception: ", e.toString());

} catch(SocketTimeoutException ste){

Log.e("Timeout Exception: ", ste.toString());

} catch (Exception e) {

// Log.d("InputStream", e.getLocalizedMessage());

}

private static String convertInputStreamToString(InputStream inputStream) throws IOException{

BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream));

String line = "";

String result = "";

while((line = bufferedReader.readLine()) != null)

// hasil=line;

result += line;

inputStream.close();

return result;

}

有没有人可以帮助我教导和告诉我如何使用MultiPartEntityBuilder发送JSON和图像?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值