Apache TIKA обнаруживает неправильный тип контента - PullRequest
0 голосов
/ 04 января 2019

Я использую Spring JAX-RS для загрузки файла в виде составной формы данных. У меня есть объект inputtream в качестве аргумента. Я получаю свой текстовый файл, когда копирую этот поток ввода на диск.

но когда я пытаюсь определить тип содержимого этого входного потока, я получаю тип содержимого как application / octet-stream.

Мой код

    Tika tika = new Tika();
    String contentType = tika.detect(in);

in - это мой InputStream объект, и я получаю тип контента как application/octet-stream.

В качестве теста я также протестировал тот же файл на рабочем столе tika и получил правильный тип контента text/plain.

1 Ответ

0 голосов
/ 08 января 2019

Обнаружение текстового файла как текстового файла на самом деле сложно ... нет магических байтов. Тика полагается на имя файла (суффикс файла), если оно указано. Если вы запускаете функцию обнаружения файла или если вы передаете имя файла для обнаружения (InputStream is, String filename) или если вы передаете имя файла в объект метаданных (metadata.set (Metadata.RESOURCE_NAME_KEY, fileName)), вы ' получите правильные результаты.

...