[英]Java EE web-application file creation
我正在用Java开发一个Web应用程序来控制我的股票并做一些其他事情。 我通过JSF组件上传文件。 该文件是图像。 无论如何,我的问题是,我希望将这些图像存储在Web应用程序的资源文件夹中。 更具体地说,在名为“ userUploads”的子文件夹中。 我创建了一个File对象,但是如何获得一个代表该路径的String?
如果您希望将文件存储在“ Web应用程序的资源文件夹”中,那么我猜您的意思是在“ webroot”中的一个名为“ resources”的文件夹。 虽然这实际上并不是最好的方法,但是可以通过使用ServletContext
来实现:
ServletContext sc = httpRequest.getSession().getServletContext();
String path = sc.getPath("resources");
要么
File file = new File(sc.getPath("resources"))
就个人而言,建议您在网络应用目录的外部创建“上载”文件夹,以便在部署等过程中不将其替换。
“我创建了一个File对象,但是如何获得代表该路径的String?”
如果有File
对象,则可以调用myFile.getAbsolutePath()
以获取路径的字符串表示形式。
请执行下列操作:
HttpServletRequest
获取HttpSession
。 HttpSession
获取ServletContext
。 ServletContext.getRealPath()
方法获取安装的绝对路径。 此方法的参数是相对于上下文根的路径。 这里是一个链接: ServletContext
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.