我使用PrimeFacesV3.5在我的Windows机器上使用Firefox浏览器上传文件。event.getFile().getFileName()正在返回带有完整路径的文件名,这将进一步导致问题。primefaces内部使用的是apache commons。我也检查了javadoc但不再帮我了。
为了解决这个问题,我对程序进行了一些修改,如下所示-

        String fileName = event.getFile().getFileName();
        fileName = fileName.substring(fileName.lastIndexOf("\\"));

但它并不可靠。有什么建议吗?

最佳答案

commons io提供FilenameUtils#getName()服务。

String filename = FilenameUtils.getName(event.getFile().getFileName());

另见:
Commons FileUpload FAQ on the subject
How to save uploaded file in JSF

07-24 16:10