У меня есть изображение byte[]
, это byte[]
происходит от LDAP [Oracle Open LDAP Authentication Provider], и мне нужно показать это изображение на странице.Веб-страница: отображение изображения из массива байтов
Как я могу это сделать?
Могу ли я использовать javax.faces.context.ResponseWriter
писать byte[]
или я должен извлечь экземпляр java.io.OutputStream
из javax.faces.context.FacesContext
и записать byte[]
на страницу.
Если какой-либо один из этих методов можно, то я могу может быть в состоянии создать пользовательский JSF тег, чтобы отобразить изображение, и попытаться выполнить создание образа в encodeBegin(FacesContext context, UIComponent component)
способе javax.faces.render.Renderer
, где byte[]
будет отправить как атрибут.
Могу ли я использовать сервлет для этой цели? На самом деле я не знаю, могу ли я вызвать сервлет из атрибута source
af:image
.
Это будет очень полезно для меня, если я получу ваше предложение.
Спасибо.
спасибо. Я понимаю, что создать пользовательский тег-> использовать сценарий для запуска img tag-> добавить атрибут href с url в servlet-> закрыть тег и в doGet этого сервлета записать изображение с помощью выходного потока. Я прав? –
@TapasBose: Да, это так. Href должен * просто * быть достаточно информации для извлечения данных, например. поместите идентификатор в URL. Вам не нужно получать изображение непосредственно в процессе создания страницы. –
Спасибо. Я попытаюсь реализовать его и дам вам знать. –