Apache Tika: разбор docx файлов через Rest в java

Я использую Appache Tika в режиме сервера. Мне нужно разработать Java-клиент отдыха для анализа файлов. Для загрузки файла PDF я использую код:

fileBody = new FileBody(file, "application/pdf");
multiPartEntity.addPart("uploaded_file", fileBody);
pdfPutRequest.setEntity(multiPartEntity);
response = client.execute(pdfPutRequest);

Использование библиотеки apache.http. Сейчас я пытаюсь разработать часть docx, но я не знаю, какой mimeType мне нужно предоставить (application/docx выдает ошибку). Без mimeTipe я получаю исключение " Unsupported Media Type" на сервере Tika. Так какой тип мне нужно предоставить и нужно ли мне делать некоторые другие изменения.

Решено!

2 ответа

Я нашел решение:

HttpPost docxPutRequest new HttpPost(url);
docxPutRequest.setHeader("Accept", "text/plain");
MultipartEntity multiPartEntity = new MultipartEntity();
FileBody fileBody = new FileBody(file);
multiPartEntity.addPart("uploaded_file", fileBody);
docxPutRequest.setEntity(multiPartEntity);
response = client.execute(docxPutRequest);

Может быть, это кому-то поможет

Официальный тип пантомимы для .docx файлы

application/vnd.openxmlformats-officedocument.wordprocessingml.document

Если вы используете инструмент Tika CLI в --detect режим может сказать вам, что

Кроме того, Tika Server имеет режим обнаружения, доступный, как описано в википедии Tika Server.

Наконец, Tika автоматически определит тип MIME для вас, если ничего не указано, см. Часть извлечения текста из документации Tika Server для получения информации о том, как давать или не давать подсказку MIME-типа для вашего файла.

Другие вопросы по тегам