为什么手机端访问 CDN URL ,携带了图片处理,发现访问 CDN 变成空白图片,刷新后又能再次出来,浏览器可以正常显示
排查: 既然浏览器都可以访问,只有手机端不行,问题已经可以判断出 OSS 是正常 的,不然浏览器肯定不会显示正常。 1) 出现问题后,先剥离 CDN 直接访问 OSS 看下图片是否能否访问,如果 OSS 访问都出现异常,不可能 CDN 会正常,那为什么 CDN 刷新一下就可 以显示了呢? 因为 CDN 有缓存,一般这种情况,用户很可能开启了 ”参 数过滤“ 功能,将 ? 后边的参数都忽略掉了,这样 CDN 就会命中客户所 有的请求。表面上看就是访问 CDN 正常,访问 OSS 异常。第 1 步排查完 后,基本可以定位是哪里的问题,如果 OSS 一直都能访问,而 CDN 访问 异常,说明 CDN 节点网络导致加载失败,或者 CDN 缓存了错误内容,如 果是 OSS 始终显示不出来,证明图片本身就存在问题了,再向下排查。 2) 浏览器可以访问了,说明图片本身没有坏,也没有冻结,唯一可能就是图片 本身的编码不被手机浏览器支持。通过 ffmpeg 可以看到用户的原图是 webp 格式的。
Input #0, png_pipe, from 'http://oss-cn-shanghai.aliyuncs.
com/201811/198c7cf3ac6a4d259ae810e205e2b4bf.jpg?/x-oss-process=style/fm_
webp_720p':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: weep, rgb24(pc), 1080x1920 [SAR 5906:5906 DAR 9:16],
25 tbr, 25 tbn, 25 tbc
2.58 M-V: -0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
结论,经过上述排查知道了,图片的格式是 webp ,特点是 ios 默认不支持, android 支持,因为 webp 是 chrome 推出的一个新的图片编码方式。ios 需要自 己编译 webp 的支持库才可以。最后参考 https://blog.csdn.net/wsyx768/article/ details/78986918
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。