springboot文件上传问题

各位大神好:

我用的是springboot框架内置tomcat,我想将文件上传到服务器上/upload/xxx.jpg
然后通过<img src='/upload/xxx.jpg'展示出来

获取目录,打印目录信息,保存文件
String rootPath = request.getSession().getServletContext().getRealPath("/upload");

System.out.println("rootPath:"+rootPath);

multipartFile.transferTo(new File(rootPath+fileName));

第一次启动项目

  1. 项目启动成功
  2. 上传文件1.jpg成功

    打印信息:rootPath:C:\Users\Administrator\AppData\Local\Temp\tomcat-docbase.13428775881640854.8080\upload

  3. 访问上传的图片地址:/upload/1.jpg能正确看到图片

第二次启动项目

  1. 项目启动成功
  2. 上传文件2.jpg成功

    打印信息:rootPath:C:\Users\Administrator\AppData\Local\Temp\tomcat-docbase.8560234590103025608.8080\upload

  3. 访问上传的图片地址:/upload/2.jpg能正确看到图片,但是再次访问/upload/1.jpg就变404

springboot的内置tomcat每次启动的项目目录都不一样

这种情况应该怎么处理啊?

阅读 13.6k
2 个回答

springboot的tomcat是内置的,每次启动都是一个新的。
能不能尝试把文件存放在磁盘上某个固定的目录上呢。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题