Margarita
Margarita

Reputation: 53

How to return base64 Image from GET request through proxy?

Here is my code. It seems to alter my base64 image incorrectly.

@RequestMapping(value = "/get/**", method = RequestMethod.GET)
public String home(Locale locale, Model model, HttpServletRequest request) {

    String query = request.getRequestURI().replaceAll("/OtkProxy/get/", "");        
    final String uri = "http://110.25.114.11/"+query;
    RestTemplate restTemplate = new RestTemplate();
    String result = restTemplate.getForObject(uri, String.class);   
    model.addAttribute("data", result);

    return "home";
}

What am I doing wrong?

Upvotes: 1

Views: 821

Answers (1)

Margarita
Margarita

Reputation: 53

Managed do it that way:

@RequestMapping(value = "/getphoto/**", method = RequestMethod.GET)
public void homephoto(HttpServletResponse response, HttpServletRequest request) {

    String query = request.getRequestURI().replaceAll("/OtkProxy/getphoto/", "");
    //final String uri = "http://10.25.114.11/"+query;
    final String uri = "http://qmatic.faceis.ru/"+query;
    RestTemplate restTemplate = new RestTemplate();
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.IMAGE_JPEG);
    HttpEntity entity = new HttpEntity(headers);
    String res = restTemplate.getForObject(uri, String.class, entity);
    response.setContentType("image/jpeg");
    try {
        response.getOutputStream().print(res);
    }
    catch (Exception ex)
    {
        System.out.println("getphoto - " + ex.getMessage());
    }
}

Upvotes: 1

Related Questions