我想在源代码中获取Web content
文件夹的绝对路径,以便我可以检索另一个文件夹来上传文件。
我尝试ServletActionContext.getServletContext().getRealPath("images")
在源代码中获取文件夹图片。
预期结果应为:
“C:\学习\工作区\的Eclipse \ boxingsaigon \的WebContent \图像”
但它让我回到了部署网站的地方:
实际结果:
“C:\学习\工作区\ Eclipse.metadata.plugins \ org.eclipse.wst.server.core \ TMP0 \ wtpwebapps \ boxingsaigon \图像”
有没有办法做到这一点?
答案 0 :(得分:0)
获得绝对路径的方法是正确的。
可以获得完整路径ServletActionContext.getServletContext().getRealPath("images");
但是获得路径C:\Learning\Workspace\Eclipse.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\boxingsaigon\images
是部署实际Web应用程序的路径。
如果将已部署的路径更改为tomcat webapps目录,则会为您提供该目录的路径 您可以获取实际源代码所在的路径。
ServletContext.getRealPath() returns the absolute file path on the server's
filesystem would be served by a request for
"http://host/contextPath/index.html", where contextPath is the
context path of this ServletContext..
答案 1 :(得分:0)
你可以试试这个:
public String getRealFile(HttpServletRequest request, String path) {
return request.getSession().getServletContext().getRealPath(path);
}
希望这有帮助。