jpeg.Decode(file)解析图片报invalid JPEG format: missing SOI marker
1. 运行环境
golang 1.19.2
2. 问题描述?
golang的image/jpeg
包,使用jpeg.Decode(file)
解析图片时,报:
invalid JPEG format: missing SOI marker
查看源码,发现他是判断图片的第一个字节为0xff
或者第二个字节为0xd8
,满足其中一个就行
if err := d.readFull(d.tmp[:2]); err != nil {
return nil, err
}
if d.tmp[0] != 0xff || d.tmp[1] != soiMarker {
return nil, FormatError("missing SOI marker")
}
但我打印jpg图片的前两个字节的时候,发现有的jpg图片并不是以这两个字节开头的
3. 您期望得到的结果?
能够正常解析图片资源
4. 您实际得到的结果?
invalid JPEG format: missing SOI marker
这是我的那张jpg的图片,我觉得也是图片的问题,因为我有下载了一些JPG的图片,发现有的jpg图片是以
0xff
或者0xd8
开头的,而有的jpg却不是以这两个字节开头的