首页 >后端开发 >Golang >## 如何在 Golang 中增强内置功能之外的 Mime 类型检测?

## 如何在 Golang 中增强内置功能之外的 Mime 类型检测?

DDD
DDD原创
2024-10-25 06:57:29484浏览

## How to Enhance Mime Type Detection in Golang Beyond Built-in Functionality?

增强 Golang 中的 Mime 类型检测能力

Golang 中内置的 http.DetectContentType() 函数提供有限的 mime 类型支持。因此,用户在通过内容而不是扩展名检测 docx、doc、xls、xlsx、ppt、pps、odt、ods 和 odp 等文件类型时可能会遇到挑战。

一个潜在的复杂性源于以下事实: docx、xlsx 和 odt 等文件与 zip 文件共享相同的文件签名。为了解决这个问题,出现了替代软件包来促进基于文件内容的 mime 类型检测。

推荐软件包

目前,强烈建议使用以下软件包进行高级 mime 类型检测:

文件类型

  • 优点:

    • 纯Go,无外部依赖
    • 可扩展添加自定义mime类型
  • 缺点:

    • 文件匹配多种mime类型时容易误分类
    • 相对较少支持的 mime 类型

magicmime

  • 优点:

    • 广泛的 mime类型覆盖
    • 可扩展,尽管需要一些努力
  • 缺点:

    • 需要 libmagic-dev安装
    • 非线程安全

mimetype

  • 优点:

    • 纯 Go,无外部依赖
    • 比文件类型更广泛的 mime 类型检测
    • 线程安全
    • 可扩展

以上是## 如何在 Golang 中增强内置功能之外的 Mime 类型检测?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn