首页 > 后端开发 > Golang > 如何检测 Go 中超出标准支持的 MIME 类型:自定义包的比较。

如何检测 Go 中超出标准支持的 MIME 类型:自定义包的比较。

Patricia Arquette
发布: 2024-10-25 06:22:29
原创
1004 人浏览过

How to Detect MIME Types Beyond Standard Support in Go: A Comparison of Custom Packages.

在 Golang 中检测超出标准支持的其他 MIME 类型

标准 Go 的 http.DetectContentType([]byte) 函数可以识别有限数量的MIME 类型。为了更全面的检测,包括那些不基于文件扩展名的检测,例如 DOCX、XLS、PPT 和 ODP,社区开发了多个自定义包。

可自定义 MIME 类型检测的推荐包

  • 文件类型:

    • 无需 C 绑定的纯 Go 实现
    • 轻松扩展自定义 MIME 类型检测
    • 潜在的歧义问题(例如,XLSX 和 DOCX 均被识别为 ZIP)
    • 内置检测到的 MIME 类型数量有限
  • magicmime:

    • 需要安装 libmagic-dev
    • 广泛的检测功能,支持最多数量的 MIME 类型
    • 可通过 libmagic 扩展
    • 非线程安全
  • mimetype:

    • 纯 Go,无 C 绑定
    • 支持的 MIME 类型多于文件类型
    • 线程安全
    • 可扩展,允许用户定义的检测规则

使用示例

要使用这些包,只需使用 go get 命令安装它们,例如:

go get github.com/howeyc/fs
登录后复制

然后,将包导入到您的代码中并使用其 API用于 MIME 类型检测。具体使用说明请参阅各个包的文档。

通过选择其中一个库,开发者可以在 Golang 中扩展其 MIME 类型检测功能,从而能够更准确地识别文件类型,无论他们是否具备良好的能力- 是否有已知的扩展。

以上是如何检测 Go 中超出标准支持的 MIME 类型:自定义包的比较。的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板