Obtendo o subtipo MimeType com o Apache tika

Eu precisaria obter o iana.org MediaType em vez de application / zip ou application / x-tika-msoffice para documentos como odt, ppt, pptx, xptx, xlsx etc.

Se você olhar para mimetypes.xml, existem elementos mimeType compostos do tipo mime iana.org e da "subclasse de"

   <mime-type type="application/msword">
    <alias type="application/vnd.ms-word"/>
    ............................
    <glob pattern="*.doc"/>
    <glob pattern="*.dot"/>
    <sub-class-of type="application/x-tika-msoffice"/>
  </mime-type>

Como obter o nome do tipo mime iana.org em vez do nome do tipo pa

Ao testar a detecção do tipo mime, eu faço:

MediaType mediaType = MediaType.parse(tika.detect(inputStream));
String mimeType = mediaType.getSubtype();

Resultado dos testes

FAILED: getsCorrectContentType("application/vnd.ms-excel", docs/xls/en.xls)
java.lang.AssertionError: expected:<application/vnd.ms-excel> but was:<x-tika-msoffice>

FAILED: getsCorrectContentType("vnd.openxmlformats-officedocument.spreadsheetml.sheet", docs/xlsx/en.xlsx)
java.lang.AssertionError: expected:<vnd.openxmlformats-officedocument.spreadsheetml.sheet> but was:<zip>

FAILED: getsCorrectContentType("application/msword", doc/en.doc)
java.lang.AssertionError: expected:<application/msword> but was:<x-tika-msoffice>

FAILED: getsCorrectContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document", docs/docx/en.docx)
java.lang.AssertionError: expected:<application/vnd.openxmlformats-officedocument.wordprocessingml.document> but was:<zip>

FAILED: getsCorrectContentType("vnd.ms-powerpoint", docs/ppt/en.ppt)
java.lang.AssertionError: expected:<vnd.ms-powerpoint> but was:<x-tika-msoffice>

Existe alguma maneira de obter o subtipo real de mimetypes.xml? Em vez de x-tika-msoffice ou application / zip?

lém disso, nunca recebo application / x-tika-ooxml, mas application / zip para documentos xlsx, docx, ppt

questionAnswers(4)

yourAnswerToTheQuestion