1、解决问题
在实际的应用场景中,经常会出现需要把系统的附件文件存储到Tomcat路径之外的磁盘目录下。这个时候就可以实现通过配置server.xml文件实现附件存储位置与Tomcat目录分离。
2、配置Server.xml
首先找到tomcat目录下conf目录下的server.xml文件,在server.xml文件中找到(可能会存在多个Host,这个时候需要配置的是需要配置的是需要做附件分离的项目对应的Host节点)。然后在Host节点中添加如下代码即可,
<Context docBase="D:\systemList\uploadAtt" path="/admin/upload" reloadable="true" />
其中
- path : 工程名称+文件路径,当访问path目录下的文件时,实则访问docBase目录下的文件。
- docBase : 文件的真实路径。注意这里如果有文件长传,则将上传的文件路径设置为docBase,而不是path。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context docBase="D:\systemList\uploadAtt" path="/admin/upload" reloadable="true" />
</Host>
3、验证
完成上诉配置后,需要重启Tomcat方能生效。然后当访问http://localhost:8080/admin/upload/xxx.jpg的时候,tomcat就会把请求转发,去请求tomcat所在的物理机上的D盘下D:\systemList\uploadAtt下的xxx.jpg文件。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/68905.html