изображение gwt base64

Я получаю base64 байт [] из XML-файла через jaxb, и я не уверен, как преобразовать этот назад в изображение gwt (который является в основном базовым HTML img, если я понял это правильно). Как я преобразовываю в соответствующую строку?

Мой первый инстинкт был к

public void onSuccess(final byte[] icon) {
img.setUrl("data:image/png;base64,"+icon.toString());

но очевидно который не работает. Любая справка ценится!

5
задан Hoax 18 June 2010 в 17:36
поделиться

2 ответа

Если вы хотите использовать URI данных (с кодировкой base64) - хотя IE <= 7 не поддерживает его, а IE8 допускает только 32 КБ - вы Придется кодировать данные изображения в формате base64.

Существует несколько кодировщиков Base64, например com.google.gwt.user.server.Base64Utils , который можно использовать на стороне сервера:

String base64 = Base64Utils.toBase64(icon);

Затем передайте закодированные данные клиенту.

Если вы действительно хотите, вы также можете использовать кодировщик на стороне клиента, но для этого потребуется скопировать файл java в клиентский источник (если вы убедитесь, что выбранная вами реализация позволяет это).

6
ответ дан 13 December 2019 в 22:01
поделиться

Вы должны указать URL-адрес, который можно использовать для получения изображения. Я действительно не думаю, что ваш код приведет к чему-то похожему на URL-адрес (что-то вроде http: //localhost/myimage.png или, возможно, mywebapp / myimage.png ...)

0
ответ дан 13 December 2019 в 22:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: