event.getFile()。getFileName()返回带有PrimeFaces 3.5的JSF2.0中完整path的文件名

我正在使用PrimeFaces v3.5上传我的Windows机器上的文件,使用Firefox浏览器。 event.getFile().getFileName()返回的文件名与完整的path,这是进一步的问题。 PrimeFaces内部正在使用Apache公用程序。 我也检查了javadoc,但没有帮助我了。

为了克服这个问题,我修改了一下程序,

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

但它不健壮和可靠。 有什么build议吗?

Commons IO提供了FilenameUtils#getName()

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

也可以看看:

  • Commons FileUpload有关该主题的常见问题
  • 如何保存上传的文件在JSF中