I'm very new on Spring for Android development.
I want to upload and image to a JSON web service and I have write down this code:
I also need to send with image a class indicating image data (this data is image table, image type, etc.)Code:public static Boolean UploadFile(String url, String filePath) { Log.v("OrderSpringController", "UploadFile: " + filePath); Boolean result = false; try { HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); requestFactory.setReadTimeout(60000); RestTemplate restTemplate = new RestTemplate(requestFactory); MultiValueMap<String, Object> parts = new LinkedMultiValueMap<String, Object>(); parts.add("file", new ClassPathResource(filePath)); restTemplate.postForLocation(url, parts); } catch (Exception e) { e.printStackTrace(); } return result; }
But I need to upload it as a JSON POST message. And, when web service gets image it will return a boolean indicating its result.
I have another method which post a JSON message and returns a boolean:
Code:public static Boolean SendCompletedEReports(String url, EReport[] eReports) { Log.v("OrderSpringController", "LoadSelectOrders"); try { HttpHeaders requestHeaders = new HttpHeaders(); requestHeaders.setAccept(Collections.singletonList(new MediaType("application","json"))); HttpEntity<EReport[]> requestEntity = new HttpEntity<EReport[]>(eReports, requestHeaders); GsonHttpMessageConverter messageConverter = new GsonHttpMessageConverter(); List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>(); messageConverters.add(messageConverter); HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); requestFactory.setReadTimeout(60000); RestTemplate restTemplate = new RestTemplate(requestFactory); restTemplate.setMessageConverters(messageConverters); ResponseEntity<Boolean> responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, Boolean.class); return responseEntity.getBody(); } catch (Exception e) { e.printStackTrace(); } return null; }
But I don't know how to mix this two methods.
Any advice?


Reply With Quote