0

我在服务器模式下使用 Appache Tika。我需要开发用于解析文件的 java rest 客户端。对于 pdf 文件上传,我正在使用代码:

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

使用 apache.http 库。现在我尝试开发 docx 部分,但我不知道我需要提供哪个 mimeType(应用程序/docx 给我错误)。如果没有 mimeTipe,我会在 Tika 服务器中收到异常“不支持的媒体类型”。所以我需要提供哪种类型,我需要做一些其他的改变。

解决了!

4

2 回答 2

0

文件的官方 mime 类型.docx

application/vnd.openxmlformats-officedocument.wordprocessingml.document

如果您在--detect模式下使用 Tika CLI 工具,它可以告诉您

或者,Tika Server 具有可用的检测模式,如 Tika Server wiki 中所述

最后,如果没有给出 mime 类型,Tika 将自动为您检测,请参阅Tika Server 文档的文本提取部分以获取有关在文件中提供或不提供 mimetype 提示的信息

于 2017-03-01T09:00:33.157 回答
0

我找到了解决方案:

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);

可能这对某人有帮助

于 2017-03-01T10:34:15.517 回答