Создать изображение в браузере из объекта Image - PullRequest
2 голосов
/ 10 ноября 2011

В моем Java-апплете есть объект Image.Теперь я хочу открыть окно браузера из этой программы и показать изображение этого объекта Image в браузере.Апплет находится в «песочнице», поэтому сохранение изображения в локальной файловой системе не вариант.

Как показать изображение в браузере?


В текущем реализация:

  • апплет преобразует изображение в код base64, затем
  • передает его классическому asp, затем этот
  • asp записывает этот код base64 на сервер и
  • передает имя файла и необходимую информацию программе c, а затем
  • c вызывает программу Java, которая находится на стороне сервера, после чего эта
  • программа Java считывает код base64и преобразовать его в изображение
  • , затем asp прочитать это изображение и показать в браузере

Этот процесс занимает слишком много времени для выполнения.

Мне просто нужно показатьизображение, созданное в апплете, в новом всплывающем окне, которое можно сохранить по желанию пользователя.В настоящее время пользователи используют IE 7, но это может быть любая версия в нашем требовании.

1 Ответ

2 голосов
/ 10 ноября 2011

Я никогда не делал этого, но я ожидаю, что что-то вроде этого будет работать:

  • Кодируйте изображение как base 64 в апплете. Обратите внимание, что J2SE не имеет встроенного класса / метода для преобразования base 64. Вам нужно будет либо его кодировать, либо добавить API, который может это сделать.
  • Передать закодированные данные в JavaScript.
  • Используйте JavaScript для записи (или изменения src существующего) img элемента на странице .

.. Internet Explorer не поддерживает это ..

Взяв (скопировав / вставив) пример из ссылки 2 nd и обернув его в некоторые элементы body & html, вы получите:

<html>
<body>
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot">
</body>
</html>

Когда это открывается в IE, я вижу ..

Red dot in IE 8

Подробнее о поддержке в IE см. Схема URI данных: недостатки , в которой упоминается ..

  • ..
  • Internet Explorer до версии 7 (примерно 5% веб-трафика на сентябрь 2011 года), поддержка отсутствует. Тем не менее, это может быть преодолено путем предоставления контента, специфичного для браузера. [8]
  • Internet Explorer 8 ограничивает URI данных максимальной длиной 32 КБ. (Internet Explorer 9 не имеет этого ограничения) [4] [3]
  • ..
...