# 新图片格式上线后旧手机打不开，该从哪几层核对降级方案

- Link: https://www.itor.cn/662.html
- Published: 2026-10-18T04:05:20+08:00
- Author: it

客服转来一条反馈，说网站上的图片显示为空白。这类问题最容易被误判，有人以为是个别
图片损坏，有人直接归因于用户网络差。先做一次快速区分：让反馈者换一台设备、换一个
浏览器再打开同一页面。如果新设备正常、旧设备空白，且空白的不止一张图，而是近期集中
上传的一批图，那大概率不是单张文件的问题，而是整类新格式在部分浏览器上缺少解码能力。
这时候要核对的不是图片，而是降级方案。

第一层核对文件本身。先确认上传的文件确实是目标格式，而不是扩展名被改过。把文件下载
到本地，查看文件头部的格式标识信息，再与扩展名比对。有些图片从其他格式改名而来，
服务端按扩展名判断格式，前端按真实内容解码，两边认知不一致，转码和兜底都会走偏。
这一步的意义在于排除伪格式，避免后续所有排查建立在错误前提上。

第二层核对服务端处理链路。上传校验是否允许该格式进入，进入后是否有转码任务生成通用
格式副本，存储里是否同时保留了原图和可回退版本。常见疏漏是只存了原图，转码任务失败
也没有告警，前端拿到一个浏览器不认识的地址。维护中要确认三件事：允许上传的格式白
名单、转码失败的重试与记录、每张图是否存在可回退的通用格式地址。

第三层核对前端展示逻辑。检查页面是用单一图片标签直接输出，还是用了多源写法配合兜
底。格式探测脚本的加载顺序也很关键，如果探测在图片请求之后才执行，兜底就来不及生效。
理想顺序是先判断浏览器支持情况，再决定请求哪个地址，最后保留一个通用格式作为最终
兜底。

第四层核对浏览器兼容范围。不要凭感觉判断用户设备，去看访问日志里的浏览器与系统分布，
按占比确定必须覆盖的格式清单。覆盖范围定得越清楚，降级策略越简单。

上线前可以按这份清单过一遍：格式白名单是否明确，转码兜底是否可用，探测脚本是否先
于图片加载，是否做过小流量灰度验证。格式演进本身没有问题，问题在于有没有留退路。
it数运在网站维护中通常把兼容性验证放在上线之前，而不是等故障发生后再回头补。
