Я сохраняю изображения в папке моей системы. Они загружены успешно. и затем я сохраняю имя изображения в базе данных. Теперь для отображения изображения я получаю имя файла, а затем пытаюсь отобразить его, но он не работает. код выглядит следующим образомЗагрузка и отображение изображений в JSF
Для загружение цели
<h:outputLabel value="Select Image"></h:outputLabel>
<x:inputFileUpload id="file"
value="#{schoolMember.image}"
required="true" size="40" />
<h:outputText></h:outputText>
<h:commandButton value="Save Details"
action="#{schoolMember.saveMember}">
</h:commandButton>
Метод, используемый в Java Class
public void saveMember()
{
File savedFileName;
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());
String dirPath = "B:\\ImagesUpload\\";
InputStream fileContent = null;
try {
fileContent = image.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
String uploadFileName = trimFilePath(image.getName());
String nameofFile=timeStamp + uploadFileName;
this.setFileName(nameofFile);
savedFileName = new File(dirPath +nameofFile);
System.out.println(nameofFile);
BufferedOutputStream bos = null;
try {
bos = new BufferedOutputStream(new FileOutputStream(savedFileName));
} catch (FileNotFoundException e) {
}
byte[] buffer = new byte[1024];
int len;
try {
while ((len = fileContent.read(buffer)) >= 0) {
bos.write(buffer, 0, len);
}
} catch (IOException e) {
}
try {
fileContent.close();
bos.close();
} catch (IOException e) {
}
SchoolMemberDao dao=new SchoolMemberDao();
dao.saveSchoolMember(this);
this.clearAll();
}
Это все работает нормально, сейчас я получаю имя файла из базы данных, как показано ниже
public void memberByEmailEdit() throws IOException
{
String dirPath = "B:\\ImagesUpload\\";
SchoolMemberDao dao=new SchoolMemberDao();
List<SchoolMember> list=dao.memberByEmail(memberEmail);
this.memberId=list.get(0).memberId;
this.fileName=list.get(0).fileName;
String uploadFileName = trimFilePath(list.get(0).fileName);
System.out.println(uploadFileName);
this.setImageFileName(uploadFileName);
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
ec.redirect(ec.getRequestContextPath() + "/faces/views/SchoolMembers/Principal/editProfile.xhtml");
}
метод, в котором я получаю эти значения, используя запрос
public List<SchoolMember> memberByEmail(String mEmail)
{
Transaction trans=null;
Session session=HiberUtil.getSessionFactory().openSession();
try{
trans=session.beginTransaction();
String queryString="from SchoolMember s where s.memberEmail = :id and memberType = 'principal'";
Query query=session.createQuery(queryString);
query.setString("id", mEmail);
List<SchoolMember> list=query.list();
if(list.size()>0)
{
return list;
}
}
catch(Exception e)
{
e.printStackTrace();
}
return null;
}
Теперь здесь, как указано ниже я даю URL, чтобы получить изображение, но он не показывает, что изображение
<h:graphicImage height="100"
width="100"
url="B:\\ImagesUpload\\#{schoolMember.imageFileName}">
</h:graphicImage>
Try значение вместо URL – Sarz
Не работает ... ничего –
Что вы имеете в виду его имя файла, не является веб-страницы показать блок изображения не-мишенью Не отображать? – Sarz