Tomcat配置图片等附件保存路径

问题

图片等附件在项目路径下,存在重新部署附件丢失的情况,为了保证图片等附件的安全性,单独配置图片等附件的保存路径和URL访问路径是可行的方案。

解决方案

步骤1

打开tomcat/conf下的server.xml文件,在Host节点下添加下面一行代码:

<Context  docBase="/home/project/upload/images"  path="/images" />

元素的属性

  • path:指定访问该Web应用的URL入口。这里可为 path="/"或path=""
  • docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。这里可为相对路径:docBase="/projectName" 或绝对路径:docBase="D:\tomcat\webapps\projectName"
  • reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被修改的,服务器会自动重新加载Web应用。

步骤2

java后端上传程序处理

//图片存储路径与webapps下的工程目录分离,保证图片等附
String contextRealPath = request.getSession().getServletContext().getRealPath("/");
//调整文件上传的保存目录
savePath = new File(contextRealPath).getParentFile().getParentFile().getAbsolutePath() + "/"+ basePath + "/";
// 文件保存目录URL
saveUrl = "/doctor-interface-upload" + "/" + basePath + "/"