URLでhttpリクエストを実行しようとしています。応答の本文にビットマップが含まれていると思っていましたが、次のエラーが表示されます。
03-13 22:54:36.106: W/System.err(26547): org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [android.graphics.Bitmap] and content type [image/jpg;charset=utf-8]
03-13 22:54:36.106: W/System.err(26547): at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:79)
03-13 22:54:36.116: W/System.err(26547): at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:655)
03-13 22:54:36.116: W/System.err(26547): at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:641)
03-13 22:54:36.116: W/System.err(26547): at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:484)
03-13 22:54:36.116: W/System.err(26547): at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:439)
03-13 22:54:36.116: W/System.err(26547): at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:415)
03-13 22:54:36.116: W/System.err(26547): at com.hera.ooshopping.AsyncPicLoading.getFileFromServer(AsyncPicLoading.java:174)
03-13 22:54:36.116: W/System.err(26547): at com.hera.ooshopping.AsyncPicLoading.doInBackground(AsyncPicLoading.java:65)
03-13 22:54:36.116: W/System.err(26547): at com.hera.ooshopping.AsyncPicLoading.doInBackground(AsyncPicLoading.java:1)
エラーから、応答は JPG (最初の行) のように見えますが、よくわかりません。文字列への応答を解析できます。これにより、base64 ではなく、奇妙な文字で巨大な文字列が作成されます。
使用可能なビットマップまたは画像に応答本文を解析するにはどうすればよいですか? 私は本当にそれを取得しません。リクエストを含む私のコードは次のとおりです。
HttpBasicAuthentication authHeader = new HttpBasicAuthentication(user.getUsername(), user.getPassword());
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAuthorization(authHeader);
HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders);
System.out.println("entity:" + requestEntity.toString());
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
restTemplate.getMessageConverters().add(new ByteArrayHttpMessageConverter());
restTemplate.getMessageConverters().add(new ResourceHttpMessageConverter());
try {
// GET Request
ResponseEntity<Bitmap> response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, Bitmap.class);
return response.getBody();
} catch (Exception e) {
e.printStackTrace();
return null;
}