【发布时间】:2012-12-04 03:37:50
【问题描述】:
我的问题是针对文件上传后的过程,我的意思是,我正在使用 JSF 2.1 和 Primefaces 将文件上传到我的项目文件夹,但我需要让项目立即识别文件所以我可以使用它或读取它来显示上传文件的一种预览,那么我该怎么做呢?
【问题讨论】:
标签: java jsf jsf-2 primefaces glassfish
我的问题是针对文件上传后的过程,我的意思是,我正在使用 JSF 2.1 和 Primefaces 将文件上传到我的项目文件夹,但我需要让项目立即识别文件所以我可以使用它或读取它来显示上传文件的一种预览,那么我该怎么做呢?
【问题讨论】:
标签: java jsf jsf-2 primefaces glassfish
取决于您使用的组件。最简单的方法是使用Single FileUpload:
<p:fileUpload fileUploadListener="#{fileBean.handleFileUpload}"
mode="advanced"
sizeLimit="100000"/>
上传后会调用handleFileUpload方法:
public void handleFileUpload(FileUploadEvent event) {
String filename = event.getFile().getFileName();
String content = new String(event.getFile().getContents());
}
如您所见,filename 和 content 都是字符串,上传后很容易显示某种预览。
例如,您可以将content 分配给另一个bean 属性,该属性连接到您界面上的p:inputTextarea。然后通过使用p:fileUpload 的update 属性,您可以更新特定的p:inputTextarea。
【讨论】: