在Java开发中,我们有时会将图片文件保存保存为相对路径,例如“\upload\images\item\shop\12\2020051322420717371.png”,但是在显示图片时通过相对路径是无法找到图片的,需要绝对路径“D:\Java\Web\ShopDemo\images\upload\images\item\shop\12\2020051322420717371.png”
这时有如下两种解决方法。
添加External Source
如下所示,在IDEA的运行设置Run/Debug Configurations | Deployment | 右边 + 号,添加图片存放目录“D:\Java\Web\ShopDemo\images\upload”为External Source,这样Tomcat在运行时就可以找到upload文件夹了
域名映射
找到Tomcat的配置文件conf/server.xml,在其中的标签中添加将访问的域名“/upload”映射到指定文件夹
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
......
<Context path="/upload" docBase="D:\Java\Web\ShopDemo\images\upload" />
</Host>
但是IDEA的Tomcat每次运行都会创建一个Catalina镜像服务器并且重新生成server.xml等配置文件,因此需要勾选如下设置其使用Tomcat实例的配置文件,而不是重新生成。