springboot获取路径问题
request.getServletContext().getRealPath()
获取路径总是临时文件夹解决方法
问题描述
最近在文件上传的过程中总是会遇见使用getServletContext().getRealPath()
得到的是临时文件的路径。并且每次重启服务,这个临时文件的路径还会变更。
解决方法
配置
module
对应的work directory
为当前的module
目录:当idea中已有一个Project
的情况下,再添加一个新Module
的时候,Module
的working directory
可能默认还是Project
的目录。在工作区
module
目录下建立public
文件夹。
原理
源码
我们可以看见SpringBoot
启动后,默认会把commonDocRoot
设置成这三个目录"src/main/webapp", "public", "static"
。
1 | package org.springframework.boot.web.servlet.server; |
如果没有就会设置成临时位置。
注意:这些目录都是在工作区下找的,如果没有设置工作区,肯定也是找不到的。
配置好工作区,添加了
public
文件夹后,就能正常获取路径了。
此文章版权归waar299所有,如有转载,请注明来自原作者!
评论