此处仅以自身项目中遇到的情况,做如下说明,方便以后学习,如有转载请注明出处。
欢迎志同道合的朋友相互交流学习。
一、本地利用idea 启动项目时,预览图片:
(1)tomcat预览图片,配置虚拟目录 ,预览本地(非项目目录下)图片
首先配置tomcat的虚拟目录,找到tomcat/conf/server.xml,找到:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
在<host>里面增加,如下配置:
<Context path="/sample" docBase="E:\program\image" debug="0" reloadbale="true" />
注意:以上tomcat配置后,本地idea运行,测试的话,以idea 为例,需要点开【idea配置tomcat页面】在Deploy applications configured in Tomcat instance 前面打上√,如图:
(2)前端页面(本人项目不是前后端分离的)访问地址,我是在页面中定义了一个div 窗口,在动态放入img 标签,需要对应tomcat配置的 path 地址:path="/sample" ,在sample后面可以根据自己的情况自定义追加动态路径,如图:
二、在部署到服务器上之后,由于服务器上用了nginx 反向代理,所以直接通过tomcat的虚拟路径是访问不了的。
(1)首先,服务器上tomcat配置虚拟路径(此处不再赘述,看上面(一)里面的第(1)条);
(2)然后 找到nginx 下的nginx.conf 配置文件,找到对应项目下的 server里面(由于配置了多个项目,其他项目中没有这个需求,所以暂时放到了对应项目的server里面),增加如下配置:
location /sample/ {
#根据前端页面中配置的地址,匹配到 /sample/ ,然后跳转到对应tomcat 下配置的sample 虚拟目录下
proxy_set_header Host $http_host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:端口/sample/; #重定向到tomcat配置里面的本地路径
}
其中 location 后面的 /sample/ 需要与前端页面地址是匹配的,匹配进来后,会重定向到对应的tomcat配置的虚拟路径里。
(3)页面设置也是如上(根据上面(一)里面的第(2)条配置的地址),此处不再赘述,就可以预览对应本地盘符里面的图片了,如图:
最终预览到图片的地址: 预览图片的路径:http://xxxxx:端口/sample/aa/bb/cc/测试.jpeg