如何使用JSF1.2上传多个文件(一次挑选多个文件)

时间:2015-11-10 14:57:54

标签: jsf-1.2

如何使用JSF 1.2一次选择多个文件。 我可以使用丰富的面(一次只能选择一个文件)上传多个文件,但不能一次选择多个文件。 Prime面孔支持多文件上传,但要与Prime Faces一起使用,需要JSF2.x版本。我们坚持使用JSF 1.2。

在富脸中 <rich:fileUpload/> 标记的属性为 allowFlash ,如果我们将此值设为true,则允许我们选择多个文件,但在选择多个文件后,它会抛出一个错误

  

ContentTypeList不包含受支持的内容类型:text / *

投掷错误后,即使上传按钮消失

即使我引用了其他几个库,比如blue imp jquery多文件上传,但我对jquery没有任何了解,也没有找到任何与JSF1.x文件上传相关的示例。 有谁知道解决方案?。

1 个答案:

答案 0 :(得分:1)

如果您的应用程序在JavaEE 6应用程序服务器上运行,或者在(使用JSF 2.x配置)servlet容器上运行,请查看Primefaces file upload component。它支持现代浏览器的多个文件选择。您可以使用以下方法将文件模式设置为仅接受来自浏览器文件选择对话框的* .zip文件:

<p:fileUpload fileUploadListener="#{bean.listenerMethod}" mode="advanced" multiple="true" allowTypes="/(\.|\/)(zip)$/" />

对于旧版JSF 1.2环境,您可以使用Primefaces&lt; = 2.1或者如@VasilLukach RichFaces 3.3.3 file upload component所述。它们都只支持单个文件选择(为了上传多个文件,用户必须多次单击文件选择按钮)。

查看上面链接展示中的更多示例和/或文档。

无论使用的组件库如何,您在评论中提到的用例:

  

我需要从浏览器中选择所有三个zip文件,然后提取单个zip文件并将其上传到服务器

似乎是错的。通常用户选择一个或多个要上传的文件,然后在服务器端的应用程序传输后进行处理(解压缩,保留或其他任何内容)。