Como extrair o MimeType de um byte [] [duplicado]

Esta questão já tem uma resposta aqui:

Obtendo o tipo Mime de um arquivo em Java 18 respostas

Eu tenho uma página da web que pode ser usada para fazer upload de arquivos.
Agora eu preciso verificar se o tipo de arquivo está correto (zip, jpg, pdf, ...).

Eu posso usar o mimeType que vem com o pedido, mas eu não confio no usuário e digamos que eu quero ter certeza de que ninguém é capaz de fazer upload de um arquivo .gif que foi renomeado em .jpg
Eu acho que neste caso eu deveria inspecionar onúmero mágico.
este é uma biblioteca java que eu descobri que parece conseguir o que eu preciso "extrair o mimetype do número mágico".
Esta é uma solução correta ou o que você sugere?

ATUALIZAR: Eu encontrei oprojeto mime-util e parece muito bom e atualizado! (talvez melhor que o Java Mime Magic Library?)
Aqui está uma lista de projetos utilitários que podem ajudá-lo a extrair tipos de mime

questionAnswers(3)

yourAnswerToTheQuestion