Вернуть данные в виде строки - PullRequest
0 голосов
/ 07 мая 2020

Я использую этот код для загрузки изображения из Angular FE:

@RequestMapping(value = "/company_logo/{job_id}",method= RequestMethod.GET,produces = MediaType.IMAGE_PNG_VALUE)
    public @ResponseBody byte[] getImageWithMediaType(@PathVariable int job_id) throws IOException {

        ClassLoader classloader = Thread.currentThread().getContextClassLoader();
        InputStream is = classloader.getResourceAsStream("color.jpg");
        byte[] bytes = IOUtils.toByteArray(is);
        InputStream in = new ByteArrayInputStream(bytes);
        return IOUtils.toByteArray(in);
    }

Но я хотел бы вернуть изображение не как byte[], а как String. Как правильно это реализовать?

1 Ответ

0 голосов
/ 07 мая 2020

Обычно, когда вы хотите вернуть двоичные данные, такие как изображение, через HTTP, вы выполняете кодировку Base64 для двоичной информации и возвращаете ее в виде строки.

В java это предоставляется как часть стандартной библиотеки. В вашем случае вы можете использовать методы класса Base64.Encoder и просто вернуть их. Браузер должен распознавать на основе заголовков ответов, что информация закодирована.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...