你好开发人员了!
环境: JBoss 7.1,JSF 2.0,Java 6,Richfaces 4.3.3
问题: UploadedFile项目已初始化, item.getName()返回已上传文件的名称,但 item.getData() 返回 null 。
我想阅读上传的文件,但我无法查看内容。
在调试器的变量视图中,我可以看到 item.uploadedResource.file = C:\ appservers \ jboss-as-7.1.1.Final \ standalone \ tmp \ work \ jboss.web \ default-host \ iCargo \ richfaces_uploaded_file_8359107924056551868.tmp但此位置没有文件。
的web.xml:
<context-param>
<param-name>createTempFiles</param-name>
<param-value>true</param-value>
</context-param>
形式:
<h:form enctype="multipart/form-data">
<rich:fileUpload id="upload" fileUploadListener="#{actionBean.uploadListener}"
acceptedTypes="xls,xlsx" immediateUpload="true" maxFilesQuantity="1">
</rich:fileUpload>
</h:form>
豆:
private UploadedFile item;
public void uploadListener(FileUploadEvent event) throws Exception {
item = event.getUploadedFile();
}
答案 0 :(得分:0)
根据Richfaces demo fileUpload documentation.:
createTempFiles布尔属性,用于定义上载的文件是存储在临时文件中还是在侦听器中可用,就像byte []数据一样(本例中为false)。
因此,您需要将createTempFiles
param值更改为false
,并且它将作为byte[]
提供给听众。
希望这有帮助。
编辑:
只需按照演示中的示例获取上传文件的数据。