Java загружает изображение из базы данных как поток байтов и загружает его в xsl

Изображение сохранено в базе данных как поток байтов, я должен загрузить это изображение в xsl. В xsl возможна ли загрузка изображения из базы данных?? Если так, как это можно сделать. В xsl мы использовали для загрузки только статическое изображение, но мне нужно загрузить динамический контент

1 ответ

Предположим, у вас есть какая-то база данных, и вы храните изображение, которое вы можете получить каким-либо образом. Изображение идентифицируется по некоторому идентификатору... как "1234567". Затем предположим, что в вашем XML есть что-то вроде:

<imageid>1234567<imageid>

Вы XSL возьмете эту информацию и сможете:

1) Создайте собственный протокол и обработчик URL-адреса Java и зарегистрируйте его. Затем вы просто используете это в URL для атрибута src объекта fo:external-graphic ... Например, вы создаете и регистрируете собственный протокол "getimage" и обработчик, который возвращает некоторое изображение. Тогда вы можете иметь:

<fo:external-graphic src="getimage://myserver.com/images/1234567"/>

Для примеров кода, просто найдите "Создать свои собственные обработчики URL Java" в Интернете. Это хороший ресурс: http://docstore.mik.ua/orelly/java/exp/ch09_06.htm

2) Создайте сервлет, который возвращает изображение, тогда у вас может быть:

<fo:external-graphic src="http://myserver.com/getimage.jsp?image=1234567"/>

Вы должны решить, как получить изображение из базы данных и вернуть его обратно, установив соответствующую информацию в заголовках, чтобы она распознавалась как рассматриваемый тип изображения.

Другие вопросы по тегам