Использование приложения GWT. Существует ли обходной путь, позволяющий IE8 правильно обрабатывать / отображать URL-адрес изображения base64, длина которого превышает 32 КБ? - PullRequest
0 голосов
/ 25 июня 2011

"Вопрос: Использование приложения GWT. Существует ли обходной путь, позволяющий IE8 правильно обрабатывать / отображать URL-адрес изображения base64, длина которого превышает 32 КБ? 1001 *

Привет ...

Я использую java6, GWT, IE8.

Мне нужно загрузить фотографии из базы данных по запросу на страницу клиента веб-приложения GWT для просмотра.

Я начал использовать объект «Изображение» и добавил в SimplePanel на странице клиента.

Обычно код для этого выглядит следующим образом ... - - -

    AsyncCallback<String> asyncCallback = new AsyncCallback<String>()
    {
        @Override
        public void onFailure(Throwable caught)
        {
        }

        @Override
        public void onSuccess(String base64Url)
        {
            imagePanel.clear();
            imagePanel.add(new Image(base64Url));
        }
    };
   service.getBase64ImageUrl(searchValueMap, asyncCallback);

   -
   -
   -

Это работает с использованием FireFox ... Но, похоже, что IE8 будет разрешать только строки URL длиной до 32 КБ. К сожалению, мое приложение должно быть совместимо с IE8.

В результате строки изображений base64 размером более 32 КБ будут визуализироваться только частично ... что недопустимо.

Существует ли альтернативный способ передачи изображений размером более 32 КБ клиенту, который обойдет эту проблему ограничения длины в IE8? Какие еще средства я могу использовать для этого, используя GWT?

Спасибо за любую помощь.

сд

1 Ответ

2 голосов
/ 26 июня 2011

AFAIK. Обходной путь для ограничения размера URL-адреса IE8 32 КБ отсутствует.

В вашем случае вы можете просто загрузить изображение напрямую без GWT-RPC

new Image("/urlOfYourImageServlet?param1="+param1+"&param2="+param2);

(если ваш param1 или param2 содержит несколько забавных символов, вам нужно URL кодировать их)

На стороне сервера предоставьте сервлет , который обслуживает изображения . Просто передайте ему некоторые параметры, чтобы он мог решить, какое изображение подавать.

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