2017-02-28 11 views
0

서버 모드에서 Appache Tika를 사용하고 있습니다. 파일을 파싱하기 위해 자바 휴식 클라이언트를 개발해야합니다. pdf 파일 업로드에 대한 내가 코드를 사용하고 있습니다 :Apache Tika : docx 파일에서 Java로 나머지를 통해 구문 분석

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 서버에서 "지원되지 않는 미디어 유형"예외가 발생합니다. 그래서 어떤 유형을 제공해야합니까? 나는 다른 변화를 할 필요가 있습니다.

해결! 당신이

다른 방법에서, 티카 서버가 as documented in the Tika Server wiki 사용할 수있는 탐지 모드를 가지고 있음을 알 수 있습니다 --detect 모드에서 티카 CLI 도구를 사용하는 경우

답변

0

.docx 파일에 대한 공식적인 MIME 형식은

application/vnd.openxmlformats-officedocument.wordprocessingml.document 

입니다. 마지막으로

, 티카가 자동으로 감지 것도 지정하지 않으면 내가 해결책을 발견

+0

답을 고맙습니다. 이미 탐지 옵션을보고 시도했습니다. 나는 다른 장소에서 문제를 발견했다. 내가 파일을 보낼 때, 나는 멀티 파트를 사용했으나 PUT 요청을 통해 이것을했다. 이제는 POST를 통해 보내지는 문서에서 볼 수있다. – user3558218

0

제공 또는 파일 MIME 타입 힌트를 포기하지 않을에 정보를 the text extraction part of the Tika Server docs를 참조하십시오 당신을 위해 마임 유형 :

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

누군가에게 도움이 될 수 있습니다.