我想在我的 web 项目的根路径创建一个临时文件夹来上传文件。我用谷歌搜索过:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public void torrent2magnet(HttpSession session) {
String uploadBaseDir = session.getServletContext().getRealPath("/")+File.separator+"uploadFiles"+File.separator;
}
可以获取到 web 项目的相对路径。但是有两个障碍如下:
1:session.getServletContext().getRealPath("/")
使用不同的容器(如tomcat或weblogic)时可以采取不同的行动。在最坏的情况下,它可能会返回null
。
2:我打算写一个@Service
类,里面会提供一个方法来返回当前web项目的根路径。我怎样才能ServletContext
在我的班级中获得一个实例@Service
?
有没有更优雅的方法来解决这两个问题?非常感谢!