我想使用http客户端以JSON格式发送文件,但我不知道该如何开始?有人可以建议我该怎么做吗?我将以这种JSON格式发送数据:
{ "Filename": "282850ad-de5c-498f-8280-2d4b6d77b774.jpg", "ChunkId":1, "ChunkLength":11397, "FileLength":11397 }
如您所见,我将分块发送文件。我不知道是否要将文件转换为字节数组。如果需要的话,任何人都可以给我一些示例代码,谢谢。
要在服务器上发送文本文件或图像文件,可以使用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项目的一部分。