假設用戶可以上傳文件,我想查找上傳文件的擴展名。 即使用戶已經重命名了文件的擴展名,我想通過它的頭或字節碼來找到該文件的真正擴展名..等等。通過java代碼找到文件擴展名
請幫我解決。
注:不僅僅是擴展的子串()或的getContentType(),但真正的文件擴展名, 說,例如(在Windows中),它的.doc文件和用戶其重命名爲JPG格式,並上傳。 它可能在PHP中,但我不知道如何在Java中做到這一點!但這是可以完成的。 謝謝。
假設用戶可以上傳文件,我想查找上傳文件的擴展名。 即使用戶已經重命名了文件的擴展名,我想通過它的頭或字節碼來找到該文件的真正擴展名..等等。通過java代碼找到文件擴展名
請幫我解決。
注:不僅僅是擴展的子串()或的getContentType(),但真正的文件擴展名, 說,例如(在Windows中),它的.doc文件和用戶其重命名爲JPG格式,並上傳。 它可能在PHP中,但我不知道如何在Java中做到這一點!但這是可以完成的。 謝謝。
Apache Commons: FileUpload是一個很好的開始。此外,你可以看看我引用的鏈接:JSP: Get MIME Type on File Upload提示如何做到這一點。
正如他們的問題在用戶狀態,思想是,如果我重新命名png格式到.JPG這將欺騙的getContentType()以爲它現在是一個的.jpg文件。在谷歌快速搜索提供了以下的回答結果:Get the mime type from a file,列出3種很好的選擇:
阿帕奇提卡™工具包檢測並提取元數據,並使用從各種文檔的結構化文本內容現有的解析器庫
jMimeMagic是一個Java庫,用於確定MIME類型的文件或流
聲稱能幫助你這個一個Java庫,方法是:mime-util
啓用Java程序來檢測基於文件擴展名,MIME數據和內容嗅探的MIME類型。支持來自java.io.File,java.io.InputStream,java.net.URL和字節數組的檢測。
感謝很多@sdolgy – 2012-02-27 20:00:23
快速搜索帶來了這個帖子了:http://fredeaker.blogspot.com/2006/12/file-type-mime-detection.html
帖子列表幾個「法寶」,可以檢測基於其內容的文件類型庫。
重複? http://stackoverflow.com/questions/5096862/jsp-get-mime-type-on-file-upload – sdolgy 2012-02-21 06:19:16
我提到不getContentType()!這是不同的 – 2012-02-21 08:14:28
你怎麼知道什麼是「真正的」擴展是不理解內容類型? – sdolgy 2012-02-21 11:09:40