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-типа для вашего файла.