java ee 获取webapp下的文件 file_如何通过Java EE Web应用程序将文件存储在服务器(Web容器)上?...

我已经开发了Java EE

Web应用程序。该应用程序允许用户在浏览器的帮助下上传文件。用户上载文件后,此应用程序首先将上载的文件存储在运行该文件的服务器上,然后对其进行处理。

目前,我将文件存储在服务器上,如下所示:

try {

// formFile represents the uploaded file

FormFile formFile = programForm.getTheFile();

String path = getServlet().getServletContext().getRealPath("") + "/"

+ formFile.getFileName();

System.out.println(path);

file = new File(path);

outputStream = new FileOutputStream(file);

outputStream.write(formFile.getFileData());

}

其中,formFile代表上传的文件。

现在,问题在于它在某些服务器上运行良好,但在某些服务器getServlet().getServletContext().getRealPath("")上返回,null因此我得到的最终路径是null/filename,文件未存储在服务器上。

public java.lang.String getRealPath(java.lang.String path)

返回一个字符串,其中包含给定虚拟路径的真实路径。例如,该路径"/index.html"返回服务器文件系统上的绝对文件路径,该路径将由对的请求提供服务"http://host/contextPath/index.html",其中contextPath是此ServletContext的上下文路径。

返回的实际路径将采用适合运行servlet容器的计算机和操作系统的形式,包括适当的路径分隔符。如果servlet容器由于某种原因(例如,当从.war归档中提供内容时)无法将虚拟路径转换为真实路径,则此方法返回null。

那么,有没有用,我可以存储这些服务器也被返回的文件任何其他方式null进行getServlet().getServletContext().getRealPath("")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值