5

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

応答からImage(binary)を取得するにはどうすればよいですか。

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

(InputStream)isには、境界およびコンテンツ情報も含まれています。

--simple_boundary

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

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

--simple_boundary

どうすれば純粋な画像バイナリデータを取得できますか。そしてそれは可能ですか?

4

3 に答える 3

1
Bitmap bitmap = BitmapFactory.decodeStream((InputStream) response.getEntity().getContent());
于 2012-09-26T11:45:02.243 に答える
0

リクエスト内容は分割・暗号化されているため、扱いが容易ではありません。

私は何年も前にApache Commons FileUploadを使用してこの種のリクエスト (ei マルチパート) を処理しましたが、このライブラリはプロセスを大幅に簡素化しました。

入門セクションでは、いくつかの例を見つけることができます。

于 2012-09-26T12:34:32.207 に答える
0

メッセージ本文を読み取るには、http パーサーが必要です。

http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/impl/io/HttpResponseParser.html

于 2012-09-26T14:15:53.353 に答える