场景:项目部署在weblogic服务器中。之前做微信公众号关键字回复功能开发,用户回复指定的关键字,需返回一张带链接的图片。因为项目比较老,上传的图片是直接拖到weblogic中项目所在的图片存放的目录中。
问题:在测试环境中,直接拖到服务器上的图片可以直接访问,并不需要重启weblogic服务。但功能上线时,在生产环境却无法访问该图片。经过测试,同级目录下,其他图片均能访问,唯独我拖进去的图片无法访问。因为是生产环境的缘故,项目不能随意重启。
解决方法:配置weblogic虚拟路径,将图片上传到weblogic的目录中(非项目中的目录)
找到项目中的weblogic.xml配置文件,添加如下配置信息
<weblogic-web-app>
<context-root>/CICWechat</context-root>
…………………
<virtual-directory-mapping>
<local-path>/image</local-path>
<url-pattern>/picinfo/*</url-pattern>
</virtual-directory-mapping>
…………………
</weblogic-web-app>
图片访问路径:
http://IP/ABCWechat/picinfo/user/imageUploads/xxx.jpg
图片实际存放的路径是:weblogic的跟目录下 / image/picinfo/user/imageUploads/xxx.jpg
PS:因为我的项目之前已经配置过weblogic的虚拟路径,所以直接将图片存放到该目录下就行,如果项目一开始就为配置,那么还是要重启weblogic服务
如有不对之处,还请多多指教!