2015-12-09 46 views
0

Tika可能在不加載整個文件的情況下獲取MIME類型或其他元數據嗎?用Tika和文件的一部分獲取MIME類型

我可以編寫腳本來獲得第一個1MB。我正在考慮這樣做,以減少Tika和我的服務器上的部分負載。

+0

會變成這樣的是什麼樣的文件?許多文件類型提卡可以用數據的只有幾KB的檢測,但其他人(如容器格式),需要整個文件來找出他們包含,因此確切類型 – Gagravarr

+0

好,我不知道。這將是文件,視頻和圖像。 – jnbdz

回答

0

對於基於容器的格式,Apache Tika需要整個文件來確定類型。容器格式包括基於一個zip文件,幾乎一切(字.docx,OpenDocumentFormat .odf,等的iWorks)的基礎上,OLE2格式的任何東西(Excel中.xls,韓文,MSI等),以及幾乎所有的多媒體格式。您經常可以根據文件名和容器類型進行很好的猜測,但要確保您需要處理整個文件以識別內容並因此識別文件類型

對於其他任何情況,如果Tika可以檢測文件類型,那麼只需要前幾十KB,通常甚至只有前幾百個字節。 (取決於問題的格式 - 不同的人在不同的地方有其可預測的簽名)

如果你不需要Tika的最佳檢測猜測,但可以做一個稍低的確定性(特別是基於容器的格式),那麼只需給Tika一個文件的開始。或者告訴提卡只使用MIME魔法探測器沒有任何特定的容器探測器。