现在网上 大部分能找到的关于文件上传路径的代码一般是
private static final Logger LOGGER = LoggerFactory.getLogger(AppUpgradeController.class);
//保存时的文件名
DateFormat df = new SimpleDateFormat(\"yyyyMMddHHmmss\");
Calendar calendar = Calendar.getInstance();
String dateName = df.format(calendar.getTime())+file.getOriginalFilename();
WebApplicationContext webApplicationContext = (WebApplicationContext) SpringContextUtils.applicationContext;
ServletContext servletContext = webApplicationContext.getServletContext();
String realPath = servletContext.getRealPath(\"/\");
通过ervletContext.getRealPath(\"/\")访问到项目classes文件的目录中
那么问题来了 当你打war包到linux 下的时候 直接访问war包,这个方法会报java.lang.NullPointException
因为classes目录在WEB-INF下 不解压 所以一定是访问不到该路径的,空指针也就是情理之中了
并不是因为这个方法是过时的 而导致会上传失败空指针!!
String realPath = System.getProperty(\"user.dir\");
我是用这种获取到项目的目录+/ 表示在项目目录之下 不加的话跟项目同级 就是名字显得有点奇guai =.=(手动滑稽)
继续阅读与本文标签相同的文章
上一篇 :
通配符怎么用?你可能不知道的使用技巧
下一篇 :
阿里云发布ECS磁盘加密,一键加密,业务0改动
-
虚拟机模拟部署Extended Clusters(五)总结
2026-05-18栏目: 教程
-
Java计算两个日期相差的月数
2026-05-18栏目: 教程
-
精准测试与自动化测试的无缝对接
2026-05-18栏目: 教程
-
Arthas 3.1.2 版本发布 | 增加 logger/heapdump/vmoption 命令
2026-05-18栏目: 教程
-
springboot数据库主从方案
2026-05-18栏目: 教程
