PrimeFaces文件上传无效文件类型doc,docx。

11

我想使用primefaces的fileUpload上传doc或docx文件,尽管我指定了文件类型,但它显示无效的文件类型

输入图像描述

<p:fileUpload cancelLabel="#{contenu.annuler}"
    fileUploadListener="#{utilAdminBean.fileUpload}"
    allowTypes="/(\.|\/)(doc|docx)$/"
    multiple="false" mode="advanced" sizeLimit="52428800"
    showButtons="false" />

这个答案说allowTypes是一个“分号分隔的文件扩展名列表”,用于接受。但似乎这取决于您使用的Primefaces版本。 - Mr Lister
2
我使用PRIMEFACES 3.5,它对我来说运行良好。 - Kishor Prakash
1
你正在使用的PrimeFaces版本是什么?并且请指定JSF实现。 - Jitesh
你可以像这样指定allowTypesallowTypes="/(\.|\/)(doc?x)$/",但这对于此操作并不相关。但是在3.5和4.0版本中,它对我有效。 - Przemek
1个回答

14
我找到了解决方案,我忘记在<h:form nctype="multipart/form-data">中添加文件上传组件。
以下是可工作的代码:
<h:form id="formcontract" enctype="multipart/form-data" dir="rtl">
    <p:fileUpload cancelLabel="#{contenu.annuler}"
        fileUploadListener="#{utilAdminBean.fileUpload}"
        allowTypes="/(\.|\/)(doc|docx|xls|xlsx|pdf)$/"
        multiple="false" mode="advanced" sizeLimit="52428800"
        showButtons="false" />
</h:form>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接