背景
线上运行了一个图片合成程序,默认的小程序二维码中奖是小程序LOGO,不满足需求,所以将微信小程序二维码和用户头像合成在一张图片。
由于微信图片有时候返回的Content-Type不对应(比如内容是PNG的,头确是image/jpeg)所以使用jpeg/png/gif的顺序进行图片数据解析,哪个成功就返回解析结果。
问题
总是出现诸如 invalid JPEG format: missing SOI marker
解决过程
我去查看jpeg.Decode的源码,如下:
func (d *decoder) decode(r io.Reader, configOnly bool) (image