要解决本地的Go Mime包与官方Docker镜像之间的差异,首先需要确保两个环境的Go版本相同,并且Go Mime包的版本也相同(1.14)。
解决方案如下:
go version
go get -u github.com/gabriel-vasile/mimetype
import "github.com/gabriel-vasile/mimetype"
func GetMimeType(filePath string) (string, error) {
mimetype, err := mimetype.DetectFile(filePath)
if err != nil {
return "", err
}
return mimetype.String(), nil
}
通过以上步骤,你可以确保在本地和Docker镜像中都使用相同版本的Go Mime包,并且能够正确地获取文件的MIME类型。