
// CheckImageFile 同时支持三种图片格式的真实性校验。
func CheckImageFile(path string) (string, error) {
f, err := os.Open(path)
if err != nil {
log.Println("打开文件失败:", err.Error())
}
strings.LastIndex(path, ".")
lastIndex := strings.LastIndex(path, ".")
extend := path[lastIndex+1:]
extendUpper := strings.ToUpper(extend)
switch {
case strings.Contains(extendUpper, "JPEG") || strings.Contains(extendUpper, "JPG"):
_, err = jpeg.Decode(f)
case strings.Contains(extendUpper, "JPEG"):
_, err = png.Decode(f)
case strings.Contains(extendUpper, "GIF"):
_, err = gif.Decode(f)
}
if err != nil {
log.Println("校验文件类型失败:", err.Error())
return "", err
}
return "", nil
}