Java 如何在Wildfly 10服务器上复制文件内容?

Java 如何在Wildfly 10服务器上复制文件内容?,java,file,file-upload,wildfly,Java,File,File Upload,Wildfly,我想上传图像,并返回文件路径以保存在数据库中,以便以后可以显示该图像 我正在使用Primefaces上传文件。但当我尝试上传文件时,我发现文件未找到异常。我可能在路径中出错,但我不知道这些文件保存在哪里 我有一个执行文件上传的方法 基本上,我生成唯一的文件名并尝试将其复制到位置 Date date = new Date(); String filename = author.getSlug() + "-" + date.getTime() + "." + FilenameUtils.getExt

我想上传图像,并返回文件路径以保存在数据库中,以便以后可以显示该图像

我正在使用Primefaces上传文件。但当我尝试上传文件时,我发现文件未找到异常。我可能在路径中出错,但我不知道这些文件保存在哪里

我有一个执行文件上传的方法

基本上,我生成唯一的文件名并尝试将其复制到位置

Date date = new Date();
String filename = author.getSlug() + "-" + date.getTime() + "." + FilenameUtils.getExtension(image.getFileName());
File path = new File("/uploads/authors", filename);

InputStream input = image.getInputstream();

Files.copy(input, path.toPath(), StandardCopyOption.REPLACE_EXISTING);

此代码引发文件未找到异常

/uploads/authors
目录是否存在?错误不是特定于JSF或Primefaces的。我认为它与应用程序路径有关,但显然不是。它访问文件系统上的绝对路径。所以我所做的,是在wildfly的数据文件夹中添加专用文件夹,并在wildfly中添加自定义配置,当我点击
http://localhost:8080/Bookstore/uploads
它将链接到创建的文件夹。其中Bookstore是应用程序的上下文路径。但我对这个解决方案并不满意,因为如果没有服务器黑客,它将无法工作。是否有更好、更普遍的最佳实践可以做到这一点?