made filetype wrapper easier to test
This commit is contained in:
parent
5b0f04c241
commit
8dc19d23ad
1 changed files with 2 additions and 10 deletions
|
@ -21,22 +21,14 @@ func GetFileType(fileId string) (string, error) {
|
||||||
// We only have to pass the file header = first 261 bytes
|
// We only have to pass the file header = first 261 bytes
|
||||||
head := make([]byte, 261)
|
head := make([]byte, 261)
|
||||||
file.Read(head)
|
file.Read(head)
|
||||||
kind, err := filetype.Match(head)
|
return GetBytesFileType(head)
|
||||||
if err != nil {
|
|
||||||
slog.Error("Could not determine file type", "error", err, "fileid", fileId)
|
|
||||||
return "application/octet-stream", err
|
|
||||||
}
|
|
||||||
if kind == filetype.Unknown {
|
|
||||||
return "application/octet-stream", nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return kind.MIME.Value, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the MimeType for a []byte
|
// Returns the MimeType for a []byte
|
||||||
// We only have to pass the file header = first 261 bytes
|
// We only have to pass the file header = first 261 bytes
|
||||||
func GetBytesFileType(data []byte) (string, error) {
|
func GetBytesFileType(data []byte) (string, error) {
|
||||||
kind, err := filetype.Match(data)
|
kind, err := filetype.Match(data)
|
||||||
|
slog.Debug("GetBytesFileType", "data", data, "file-mime", kind.MIME.Value)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("Could not determine file type", "error", err)
|
slog.Error("Could not determine file type", "error", err)
|
||||||
return "application/octet-stream", err
|
return "application/octet-stream", err
|
||||||
|
|
Loading…
Add table
Reference in a new issue