Richfaces 4.3,rich:fileUpload,FileUploadEvent getData为null

时间:2013-08-01 07:34:59

标签: richfaces

你好开发人员了!

环境: 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();
}

1 个答案:

答案 0 :(得分:0)

根据Richfaces demo fileUpload documentation.

  

createTempFiles布尔属性,用于定义上载的文件是存储在临时文件中还是在侦听器中可用,就像byte []数据一样(本例中为false)。

因此,您需要将createTempFiles param值更改为false,并且它将作为byte[]提供给听众。

希望这有帮助。

编辑:

只需按照演示中的示例获取上传文件的数据。