在Golang 中偵測超出標準支援的其他MIME 類型
標準Go 的http.DetectContentType([]byte) 函數可以辨識有限數量的MIME 類型。為了更全面的檢測,包括那些不基於檔案副檔名的檢測,例如 DOCX、XLS、PPT 和 ODP,社群開發了多個自訂套件。
可自定義MIME 類型檢測的推薦包
-
文件類型:
- 無需C 綁定的純Go 實作
- 輕鬆擴展自訂MIME 類型檢測
- 潛在的歧義問題(例如,XLSX 和DOCX 均被識別為ZIP)
- 內建偵測到的MIME 類型數量有限
-
magicmime:
- 需要安裝libmagic-dev
- 需要安裝libmagic-dev
-
- 需要安裝libmagic-dev
需要安裝libmagic-dev-
需要安裝libmagic-dev
需要安裝libmagic-dev廣泛的偵測功能,支援最多數量的MIME 類型- 可透過libmagic 擴充
- 非執行緒安全
-
-
mitype :
純Go,無C 結合
支援的MIME 類型多於檔案類型
go get github.com/howeyc/fs
登入後複製
執行緒安全
可擴充,允許使用者定義的偵測規則
使用範例要使用這些套件,只需使用go get 指令安裝它們,例如:然後,將套件匯入到您的程式碼中並使用其API用於MIME 類型檢測。具體使用說明請參閱各個套件的文件。 透過選擇其中一個庫,開發者可以在 Golang 中擴展其 MIME 類型檢測功能,從而能夠更準確地識別文件類型,無論他們是否具備良好的能力- 是否有已知的擴展。
以上是如何偵測 Go 中超出標準支援的 MIME 類型:自訂套件的比較。的詳細內容。更多資訊請關注PHP中文網其他相關文章!