// 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
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code