Java - вставка байтового массива / ImageIcon непосредственно в HTML - PullRequest
2 голосов
/ 05 января 2012

Я пытаюсь взять байтовый массив непосредственно из БД и поместить его во всплывающую подсказку, которая принимает HTML. Это для согласованности, поскольку необходимо включить текст, который будет соответствовать другим текстовым подсказкам.

В идеале я пытаюсь обойти этап сохранения изображения в файл перед его загрузкой в ​​тег img src. Есть ли способ загрузить массив байтов (который можно легко преобразовать в Image или ImageIcon заранее) прямо в HTML?

Ответы [ 2 ]

4 голосов
/ 05 января 2012

Создайте сервлет для обслуживания изображений, сопоставьте его с соответствующим URL-адресом и просто сохраните данные изображения из базы данных.

Редактирование: с помощью этого подхода браузер может кэшировать изображения, новам делать это вручную.

3 голосов
/ 05 января 2012

Вам необходимо каким-то образом преобразовать байты в кодировку base64 (на стороне java или на стороне html / javascript). И тогда вы можете написать что-то вроде этого:

<img src="data:image/gif;base64,R0lGODlhUAAPAKIAAAsLav///88PD9WqsYmApmZmZtZfYmdakyH5BAQUAP8ALAA AAABQAA8AAAPbWLrc/jDKSVe4OOvNu/9gqARDSRBHegyGMahqO4R0bQcjIQ8E4BMCQc930JluyGRmdAAcdiigMLVrpTYWy5FKM1IQe+Mp+L4rphz+qIOBAUYeCY4p2tGrJZeH9y79mZsawFoaIRxF3JyiYxuHiMGb5KTkpFvZj4ZbYeCiXaiKBwnxh4fnt9e3ktgZyHhrChinONs3cFAShFF2JhvCZlG5uchYNun5eedRxMAF15XEFRXgZWWdciuM8GCmdSQ84lLQY5R14wDB5Lyon4ubwS7jx9NcV9/j5+g4JADs=" alt="" width="80" height="15" />

Обратите внимание, что в этом случае, даже если вы сохраняете запрос на выборку изображения, само изображение не кэшируется для будущего использования. Вы можете посмотреть на это: http://www.websiteoptimization.com/speed/tweak/inline-images/

Для обхода.

...