问题分析:如果将图片上传到服务器的tomcat下的目录作为上传保存图片的路径,则每次更新程序重启tomcat时,都需要进行用户上传图片的备份和恢复。否则将被删除掉。
解决方法:通过配置Tomcta的虚拟路径,即将请求映射到实际的物理路径下,实现上传文件的保存地址和服务器的分离。
配置虚拟路径:
文件:Tomcat/conf/server.xml
修改文件配置:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
<Context path="/upload" docBase="D:\upload"/>
</Host>
在<Host></Host>
中添加<Context path="/upload" docBase="D:\upload"/>
,
path:链接请求的地址.
docBase:保存的本地物理地址,即在D盘下的upload文件夹保存上传的文件。