首页  >  文章  >  后端开发  >  以下是一些标题选项,适合问题格式: **简短而直接:** * **Go:如何检测标准库之外的其他 MIME 类型?** * **哪种 Go 软件包最适合

以下是一些标题选项,适合问题格式: **简短而直接:** * **Go:如何检测标准库之外的其他 MIME 类型?** * **哪种 Go 软件包最适合

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-25 09:29:02749浏览

Here are a few title options, leaning into the question format:

**Short & Direct:**

* **Go: How Do I Detect Additional MIME Types Beyond the Standard Library?** 
* **Which Go Package is Best for Detecting MIME Types?**

**Slightly Longer & More Specific

在 Go 中检测其他 Mime 类型

Go 的 net/http 包中的标准 http.DetectContentType() 函数提供对有限数量的支持哑剧类型。然而,需要识别其他文件类型,特别是那些具有非基于扩展名的签名的文件类型。

挑战

纯粹通过内容检测 mime 类型可能很复杂,特别是对于共享共同签名的文件。例如,docx/xlsx/pptx/odp/odt 文件共享 zip 文件签名 (50 4B 03 04)。

解决方案

自从提出最初的问题以来三年前,出现了几个软件包来应对这一挑战:

1。 filetype

  • 具有简单扩展功能的纯 Go 实现
  • 支持的 mime 类型数量有限
  • 识别与多个 mime 类型匹配的文件的问题

2. magicmime

  • 需要安装 libmagic-dev
  • 支持最全面的 mime 类型
  • 可以扩展,但更复杂
  • Libmagic 不是线程安全的

3. mimetype

  • 具有线程安全功能的 Pure Go
  • 比 filetype 更多受支持的 mime 类型
  • 可扩展
  • 社区维护且积极已更新

以上是以下是一些标题选项,适合问题格式: **简短而直接:** * **Go:如何检测标准库之外的其他 MIME 类型?** * **哪种 Go 软件包最适合的详细内容。更多信息请关注PHP中文网其他相关文章!

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