package utils
import (
"fmt"
"os"
)
/**
* 获取图片真实扩展名
*/
func GetImgExt(file string) (ext string, mime string, err error) {
var headerByte []byte
headerByte = make([]byte, 8)
fd, err := os.Open(file)
if err != nil {
return "", "", err
}
defer fd.Close()
_, err = fd.Read(headerByte)
if err != nil {
return "", "", err
}
xStr := fmt.Sprintf("%x", headerByte)
switch {
case xStr == "89504e470d0a1a0a":
ext = ".png"
mime = "image/png"
case xStr == "52494646d6830100":
ext = ".webp"
mime = "image/webp"
case xStr[:12] == "474946383961" || xStr[:12] == "474946383761":
ext = ".gif"
mime = "image/gif"
case xStr[:4] == "424d":
ext = ".bmp"
mime = "image/bmp"
case xStr[:4] =
golang 获取上传文件的真实扩展名,类似于php的 get_mime_type 函数
最新推荐文章于 2024-05-16 08:45:00 发布