一尘不染

如何在Android上以JSON发送文件?

json

我想使用http客户端以JSON格式发送文件,但我不知道该如何开始?有人可以建议我该怎么做吗?我将以这种JSON格式发送数据:

 {
    "Filename": "282850ad-de5c-498f-8280-2d4b6d77b774.jpg",
    "ChunkId":1,
    "ChunkLength":11397,
    "FileLength":11397
 }

如您所见,我将分块发送文件。我不知道是否要将文件转换为字节数组。如果需要的话,任何人都可以给我一些示例代码,谢谢。


阅读 240

收藏
2020-07-27

共1个答案

一尘不染

要在服务器上发送文本文件或图像文件,可以使用MultiPartEntity。

DefaultHttpClient localDefaultHttpClient = new DefaultHttpClient();

      FileBody localFileBody = new FileBody(new File(this.picturePath), "image/jpg");
      HttpPost localHttpPost = new HttpPost("http://website.com/path/....");
      MultipartEntity localMultipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
      try
      {
        Log.d("picturepath", this.picturePath);
        localMultipartEntity.addPart("Email", new StringBody("emailid@gmail.com"));
        localMultipartEntity.addPart("password", new StringBody("password"));
        localMultipartEntity.addPart("phone", new StringBody("9875......."));
        localMultipartEntity.addPart("profilepicture", localFileBody);
        localHttpPost.setEntity(localMultipartEntity);
        HttpResponse localHttpResponse = localDefaultHttpClient.execute(localHttpPost);
        System.out.println("responsecode" + localHttpResponse.getStatusLine().getStatusCode());
}
catch (Exception e)
      {
        Log.d("exception", e.toString());
      }

这是可行的,因为此代码是我的Running项目的一部分。

2020-07-27