diff --git a/fs/mime.go b/fs/mime.go new file mode 100644 index 0000000..6f26dd8 --- /dev/null +++ b/fs/mime.go @@ -0,0 +1,28 @@ +package fs + +import ( + "io" + "net/http" + "os" +) + +func GetMimeByFileName(filename string) string { + f, err := os.Open(filename) + if err != nil { + + } + + defer f.Close() + return GetMimeByStream(f) +} + +func GetMimeByStream(fp io.Reader) string { + buf := make([]byte, 32) + fp.Read(buf) + + return http.DetectContentType(buf) +} + +func GetMimeByBytes(b []byte) string { + return http.DetectContentType(b) +}