http.DetectContentType get file type
golang http.DetectContentType获取文件类型
package main
import (
"fmt"
"net/http"
"os"
)
func main() {
// 打开一个 文件
file, err := os.Open("main.go")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
// 读取文件的前 512 个字节
buffer := make([]byte, 512)
n, err := file.Read(buffer)
if err != nil {
fmt.Println(err)
return
}
// 调用 http.DetectContentType 方法判断文件类型
// 实际上,如果字节数超过 512,该函数也只会使用前 512 个字节
contentType := http.DetectContentType(buffer[:n])
fmt.Println(contentType) // 输出 type
}