The magicnumber package reads the bytes within a file to learn of the format or type of file, being useful for identifying the file without relying on the file extension or MIME type. See the reference documentation for additional usage and examples.
package main
import (
"fmt""log""os""github.com/Defacto2/magicnumber"
)
funcmain() {
file, err:=os.Open("example.exe")
iferr!=nil {
log.Fatal(err)
}
deferfile.Close()
// Option 1.result:=magicnumber.Find(file)
fmt.Printf("File type: %s\n", result)
// Option 2.valid, result, err:=magicnumber.MatchExt("example.exe", file)
iferr!=nil {
fmt.Fprintln(os.Stderr, err)
}
fmt.Printf("File type: %s\n", result)
fmt.Printf("File extension valid: %v\n", valid)
}