从 Watson 的文档转换服务中获取一个奇怪的错误

Getting a strange error from Watson's Document Conversion service

我正在尝试使用 Node.js 中的 watson-developer-cloud Javascript 库,使用 Watson 的文档转换服务将一些文档转换为答案单元。某些(例如在 IBM 内部 link 并且是一个 .DOCX 文件)return 这个错误:

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)

如果我尝试通过文档转换演示站点进行转换,似乎转换没有错误。我的程序从源下载文件,将其写入磁盘,然后通过上述库将其上传到文档转换服务。

有什么办法可以解决这个错误吗?考虑到此转换是数千个文档的大规模自动转换的一部分,因此无法手动处理这些异常值。

该服务尝试使用文件的前几个字节和文件名自动检测上传文件的媒体类型。

如果文件名不可用(即,您的用户未传入),您可以在转换调用的文件部分提供要上传的文件的媒体类型:

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