从HTTP Response Body获取图像文件

时间:2012-09-26 11:31:21

标签: java android httpresponse multipart

Android客户端向服务器发送请求。

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://test.com/test");
HttpResponse response = httpclient.execute(httppost);

然后收到服务器的响应,如下所示

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Date: Wed, 26 Sep 2012 10:59:35 GMT
Content-Type: multipart/form-data; type="image/jpeg"; boundary="simple_boundary"; start="<image>"; start-info="image/jpeg"
Transfer-Encoding: chunked

2000

--simple_boundary

Content-Type: image/jpeg
Content-Transfer-Encoding: binary
Content-ID: <image>

......JPEG Binary Code Here.....

--simple_boundary

如何从响应中获取图像(二进制)。

InputStream is = response.getEntity().getContent();

(InputStream)也包含边界和内容信息。

--simple_boundary

Content-Type: image/jpeg
Content-Transfer-Encoding: binary
Content-ID: <image>

......JPEG Binary Code Here.....

--simple_boundary

如何获得纯图像二进制数据。 这有可能??

3 个答案:

答案 0 :(得分:1)

Bitmap bitmap = BitmapFactory.decodeStream((InputStream) response.getEntity().getContent());

答案 1 :(得分:0)

请求内容被拆分和编码,因此它很容易处理。

我用Apache Commons FileUpload年前来处理这种请求(e.i. multipart),这个库大大简化了这个过程。

getting started部分,您可以找到几个示例。

答案 2 :(得分:0)