У меня есть ByteArrayOutputStream, который содержит изображение JPEG в байтах. Мое требование состоит в том, чтобы отобразить это изображение на странице JSP (чтобы отобразить изображение во внешнем интерфейсе, используя HTML-теги). Как мне это сделать?
Я упомянул класс BufferedImage
, но это сбивает меня с толку, потому что я новичок в этом.
2 ответа
Если изображение не слишком большое, можно сделать это следующим образом.
<img src="data:image/jpg;base64,iVBORw0KGgoAAAANS..." />
Где iVBORw0KGgoAAAANS
... – это байты в кодировке Base64.
Кодирование Base64 можно выполнить с помощью библиотеки, например Ostermiller Java Utilities, Base64 Java Library<. /a> или org.apache. commons.codec.binary.Base64.
Если вы не используете "URI данных" (полезно для небольших изображений), браузер сделает два запросы: один для HTML и один для изображения. Вы должны иметь возможность вывести тег img
, содержащий достаточно информации, чтобы вы могли ответить на последующий запрос изображения с данными в вашем ByteArrayOutputStream
.
В зависимости от того, как вы получили этот файл JPEG и как масштабируется ваш сервер, это может включать запись изображения на диск, его кэширование в памяти, его регенерацию или любое их сочетание.
Если вы можете отложить генерацию изображения до тех пор, пока браузер не запросит фактическое изображение в первую очередь, это довольно идеально. Это может включать в себя добавление дополнительных параметров в URL-адрес изображения, таких как точки на графике, размер миниатюры для создания или что-то еще.
Если вы новичок и в JSP, и в HTML, я настоятельно рекомендую вам сначала сосредоточиться на стороне HTML. Подумайте, что вам нужно обслуживать и что будет делать браузер, прежде чем вы решите, как обслуживать его динамически. Начните со статических страниц и файлов для HTML и изображений, а затем решите, как их создать.
Похожие вопросы
Связанные вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.