0

各位开发者您好!

环境: 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 但是此位置没有文件。

网页.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();
}
4

1 回答 1

0

根据Richfaces 演示文件上传文档。

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

因此,您需要将createTempFilesparam 值更改为false,并且它可以作为byte[].

希望这可以帮助。

编辑:

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

于 2013-08-01T07:55:11.923 回答