2011-01-12 4 views
0

Я знаю, что для отображения изображения JSF путь должен быть от корня веб-сервера/сервера приложений, а не от корня системы. Так что нет абсолютного пути. Но вот моя проблема. Поскольку я разрешаю пользователю загружать свои собственные изображения, а затем отображать их, мне нужно сохранить изображения где-нибудь. Однако, если я сохраню изображение внутри моего проекта, будущий проект перераспределения может стереть мои фотографии. В результате, я думаю, лучше всего загрузить в папку, которая не будет выполняться при повторном развертывании. Но тогда h: graphicImage или p: graphicImage не позволит мне использовать абсолютный путь. Каковы мои варианты решения этой проблемы?JSF Изображение и абсолютный путь

Я знаю, что это дает мне путь к моему проекту-войны

ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext(); 
String path = servletContext.getRealPath(""); 

Есть ли способ, чтобы заставить меня корень веб/приложений?

Primefaces 2,2-RC2
Glassfish 3.0.1
Mojarra 2.0.3 Java EE 6

EDIT

После недолгого исследования я узнал, что PrimeFaces позволяют течь содержимое изображения с использованием FileInputStream, и вы можете использовать FileInputStream, используя абсолютный путь. Это может быть хорошим решением, пока я не проверил и не выясню, что это может работать только на RequestScoped и SessionScoped Bean, но не на ViewScoped.

Вот ссылка, которую я публикую, чтобы уведомить своих разработчиков об этих основных ошибках. http://primefaces.prime.com.tr/forum/viewtopic.php?f=3&t=7052

Любая другая идея?

+0

ссылке выше содержат решение для меня. Проверьте это. –

ответ

3

Просто изображение специальный сервлет, ImageServlet, что отображается на /image/* (например), а также передавать изображения из него (получить их в качестве InputStream, и писать это в ответ OutputStream)

+0

не могли бы вы дать мне пример кода? –

+0

@Harry: проверьте дублируемую ссылку для этого :) – BalusC

+0

@BalusC: Я читаю его сейчас. У меня также есть пара вопросов для вас? спасибо –

Смежные вопросы