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 + "/"