Текущие версии: JSF 2.1, RichFaces 4.5.2Как я могу обработать файл, кэшированный в управляемом компоненте?
я попал в следующую проблему: У меня есть загрузить компонент в одном из моих веб-страниц, которая собирается загружать изображения:
<h:graphicImage id="uploadedPict" value="__WHAT__?" alt="picture />
<rich:fileUpload id="imageStartUploadComponent"
fileUploadListener="#{MyBean.uploadStartImage}"
acceptedTypes="png,jpg"
immediateUpload="false">
<a4j:ajax event="uploadcomplete" render="uploadedPict" />
</rich:fileUpload>
и сам сведущих боб:
public class MyBean{
private UploadedFile detailsImage;
public void uploadStartImage(){
//SETTING detailsImage here
}
//GET, SET, OTHER STUFF
}
Я мог бы вызвать UploadedFile::getData()
метод для извлечения данных бинарных изображений. Но как я могу отобразить его на веб-странице? Предполагается, что атрибут value
присваивается фактическим URL-адресом изображения. Поэтому мне кажется, что мне придется написать свой собственный сервлет ...
ВОПРОС: Есть ли способ избежать написания сервлета и визуализации изображения прямо из метода управляемого компонента, возвращающего его двоичные данные?
UPDATE: Мне нужно сделать это для показа предварительного просмотра загруженного изображения. Может быть, есть еще один способ сделать это правильно?
возможный дубликат [Как я могу служить бинарное содержимое из JSF/Веб-приложение?] (Http://stackoverflow.com/questions/4133982/how-can-i-serve-binary-content-from-a-jsf-webflow-app) – Kukeltje