fix(avatar): WebP 解码未生效 — image.Decode 不支持 WebP,改用 webp.Decode

This commit is contained in:
2026-05-27 01:10:29 +08:00
parent c3dec09dae
commit 053ca32a14

View File

@ -67,8 +67,14 @@ func (s *AvatarService) ProcessAvatar(userID uint, file io.Reader, contentType s
return "", fmt.Errorf("文件大小不能超过 5MB") return "", fmt.Errorf("文件大小不能超过 5MB")
} }
// 3. 解码图片 // 3. 解码图片WebP 需显式调用 webp.DecodeGo 标准库不含 WebP 解码器)
img, _, err := image.Decode(bytes.NewReader(data)) var img image.Image
switch contentType {
case "image/webp":
img, err = webp.Decode(bytes.NewReader(data))
default:
img, _, err = image.Decode(bytes.NewReader(data))
}
if err != nil { if err != nil {
return "", fmt.Errorf("图片解码失败:%v", err) return "", fmt.Errorf("图片解码失败:%v", err)
} }