记一次灰度发版打印背景图片无法加载的处理过程
前言
需求为给订单加上新的打印模板,测试环境正常,灰度环境打印不出来图片。请求服务器路径可以展示图片,使用lodop设置背景图或打印图片都无法展示
解决过程
1. 初步怀疑是图片文件有问题,将图片格式变换为服务器上已存在且正常的图片的格式,失败
2. 更改原始图片(服务器上已存在且正常)文件名为新的图片文件名,失败
3. 直接请求服务器路径,图片正常显示。将此绝对路径设置到打印中,失败
4. 更改原始图片名为新的图片文件名,将新图片名更改为旧图片名,将代码中的图片名设置为旧图片名,打印显示为旧图片。因此推测,或有缓存或图片根本就没有
解决方案及原因
1. 将代码中设置背景图的路径写死为单一服务器绝对路径,杀死其他服务器,保留此单台。正常
2. 将新图片扔到正式环境,彻底解决
3. 发版生产后正常,只是灰度会有问题
原因如下:
灰度路由请求中,静态文件无用户信息。因此请求到了生产服务器上,导致资源加载不到,打印失败。