2016-11-07 4 views
0

Node.js의 watson-developer-cloud Javascript 라이브러리를 사용하여 일부 문서를 응답 단위로 변환하려고합니다. 어떤 사람들은 (예를 들어이 IBM 내부 링크에서이며, .DOCX 파일입니다)이 오류 반환 : 나는 문서 변환 데모 사이트를 통해 변환하려고하면Watson의 문서 변환 서비스에서 이상한 오류가 발생했습니다.

Error: code:400 error: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)

을 오류없이 변환하는 것 같다. 내 프로그램은 소스에서 파일을 다운로드하여 디스크에 쓴 다음 위에서 언급 한 라이브러리를 통해 문서 변환 서비스에 업로드합니다.

이 오류를 해결할 수있는 방법이 있습니까? 이 변환은 수천 개의 문서를 대량으로 자동화 한 변환의 일부이므로 이러한 비정상 값에 대한 수동 처리는 문제가되지 않습니다.

+0

을 Microsoft Excel에서 같은 오류 메시지를받은 사람의 게시물 http://stackoverflow.com/questions/12593752/why-do-i-failed-to-read-excel-2007-using-poi. 얼마나 도움이되는지 잘 모르겠지만 올바른 방향으로 안내해 줄 수 있습니다. IBM 내부 문서에 대한 링크를 제거하십시오. 귀하의 질문은 실제로 doc 형식이 아닌 doc 내용입니다. IBM 내부 문서에 대한 세부 사항을 공유해야하는 경우이를 수행 할 수있는 장소는 IBM 내부 포럼입니다. – ralphearle

답변

1

서비스는 파일의 처음 몇 바이트와 파일 이름을 사용하여 업로드 된 파일의 미디어 유형을 자동 검색하려고 시도합니다.

파일 이름 (즉, 사용자가 전달되지 않음)를 사용할 수없는 경우, 당신은 당신이 변환 호출의 파일 부분에 업로드하는 파일의 미디어 타입 제공 할 수있다 : 다음은

file: { 
    value: fs.createReadStream('filename'), 
    options: { 
     contentType: 'application/vnd.openxmlformats officedocument.wordprocessingml.document' 
    } 
} 
+0

"contentType"은 작동하지 않지만 "content_type"은 작동합니다. –