найти MIME-тип WMA-файлов с использованием Java - PullRequest
1 голос
/ 11 февраля 2011

Я использую apache tika для обнаружения mime-типов аудио и видео файлов.По какой-то причине tika сообщает тип mime файла wma (формат Windows Media Audio, принадлежащий Microsoft) как application / octet-stream.Знаете ли вы лучший способ найти MIME-тип файла в Java?Или я могу использовать сам tika для запроса этой информации?

Ответы [ 2 ]

1 голос
/ 01 апреля 2011

Тика должна быть в состоянии обнаружить файлы, если вы укажете для них имя файла, например,

Metadata m = new Metadata();
m.add(Metadata.RESOURCE_NAME_KEY, filename);
detector.detect(stream, m);

Я открыл https://issues.apache.org/jira/browse/TIKA-629, чтобы отследить отсутствие обнаружения магии пантомимы, если у вас нет имени файла.

0 голосов
/ 11 февраля 2011

Согласно поддержке Microsoft: http://support.microsoft.com/kb/284094, MIME-тип WMA должен быть audio/x-ms-wma.Согласно: http://kb.iu.edu/data/agtj.html MIME-тип application/octet-stream представляет двоичный файл.Я не уверен, почему TIKA не может распознать правильный тип пантомимы, но это стратегия возврата / резервного копирования, которая возвращает application/octet-stream, если фактическая пантомима не распознается.Причина сбоя может быть много:

  1. Использование более старой версии библиотеки
  2. Или библиотека новая, но тип файла новее, чем
  3. Или какой-то другойвнутренняя неисправность

Посмотрите ссылки ниже для поиска типов MIME в Java:

  1. Получение MIME-файла в Java
  2. http://www.rgagnon.com/javadetails/java-0487.html
...