[英]is there a way to generate a Content-Type header from a file extension in Java?
[英]Java: Which is the best way to check a content-type and extension (mime) from a file?
驗證我通過端點上傳的文件的最高效方式。
它應該掃描字節,而不僅僅是比較文件擴展名。
我知道這個鏈接對我有幫助,但我不知道這些鏈接是否已被棄用:
https://www.rgagnon.com/javadetails/java-0487.html
提前致謝!
沒有一種 100% 萬無一失的方法來驗證上傳到端點的文件所包含的內容。 這是因為文件在一天結束時只是字節,它可能包含也可能不包含有關文件元數據的信息(例如,惡意用戶、損壞的文件等)您能做的最好的事情就是嘗試猜測類型的文件。
您可以使用Apache Tika 檢測庫作為項目的依賴項。 鏈接中有有關如何執行此操作的詳細文檔。
您還可以利用 HTTP 請求中的Content-Type
header 作為檢測文件類型的替代方法。 至少這是我要做的,讓任何 API 消費者 select 正確的內容類型,並嘗試使用給定的內容類型(如果支持的話)解析文件。 如果發生異常,則很可能是:
當然,您可以通過使用特定於內容的注釋(例如@Consumes(MediaType.APPLICATION_XML)
進一步限制端點接受的內容,但我們無法就所提供的信息提供更多幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.