Primefaces文件上传-没有扩展名的文件

时间:2019-02-13 08:57:59

标签: file-upload primefaces

我正在使用Primefaces v6.2.13上传文件。对于带扩展名的文件效果很好,但是在尝试上传不带扩展名的文件时会崩溃。

这是xhtml用于呈现上传按钮的部分

<p:fileUpload value="#{addFileController.file}"
    mode="simple" skinSimple="true"
    rendered="#{!addFileController.uploadDisable}"
    label="Choose file"
    allowTypes="#{addfileController.allowedTypes}" />

当我选择文件时,什么也没有发生,但是当我单击上载按钮时,它引发了一个错误,我无法捕获我的代码,因为它首先在PrimeFaces中调用了某种上载机制,随后又调用了我写了。

错误是:

javax.faces.FacesException: File must have an extension
    at org.primefaces.util.FileUploadUtils.getValidFilename(FileUploadUtils.java:54)

并且类内部代码中有问题的部分看起来像这样

...
String name = FilenameUtils.getName(filename);
String extension = FilenameUtils.EXTENSION_SEPARATOR_STR + FilenameUtils.getExtension(filename);

if (extension.isEmpty()) {
    throw new FacesException("File must have an extension");
}
....
}

有人知道如何处理吗?我正在考虑向xhtml添加一些属性以禁止上传不带扩展名的文件,因为我不想编辑PF源代码。

0 个答案:

没有答案