2007年2月27日

Java 怎麼判斷檔案的 ContentType/MIME-Type ?

其實在利用上傳元件做檔案上傳動作時,上傳元件會順便傳回該上傳檔案的 ContentType/MIME-Type 的資訊,可是如果沒有把該項資訊塞入資料庫的話該怎麼辦呢?

透過 Get the Mime Type from a File 這篇文章得知有兩種方法:

  1. javax.activation.MimetypesFileTypeMap:據該文的說法,這是透過檢查附檔名方式判定
  2. JMimeMagic lib:似乎是針對檔案的特徵進行識別的。
不過前述文章中對 JMimeMagic 的程式範例應該是舊版的,新版的話直接參考官網上的 MagicTest.java

另外,JMimeMagic 有提供 Maven2 支援,設定如下:

<dependency>
  <groupId>jmimemagic</groupId>
  <artifactId>jmimemagic</artifactId>
  <version>0.1.1</version>
</dependency>