【问题标题】:Getting a strange error from Watson's Document Conversion service从 Watson 的文档转换服务中得到一个奇怪的错误
【发布时间】:2016-11-07 16:37:43
【问题描述】:

我正在尝试使用 Watson 的文档转换服务,使用 Node.js 中的 watson-developer-cloud Javascript 库将一些文档转换为答案单元。某些(IBM 内部链接中的示例是 .DOCX 文件)返回此错误:

错误:代码:400 错误:提供的数据似乎在 Office 中 2007+ XML。您正在调用处理 OLE2 Office 的 POI 部分 文件。您需要调用 POI 的不同部分来处理它 数据(例如 XSSF 而不是 HSSF)

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

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

【问题讨论】:

  • 这是从 Microsoft Excel 收到相同错误消息的人的帖子。 stackoverflow.com/questions/12593752/…。我不确定这有多大帮助,但它可能会为您指明正确的方向。请删除指向 IBM 内部文档的链接,因为您的问题实际上是关于文档格式而不是文档内容。如果您需要分享有关 IBM 内部文档的详细信息,可以在 IBM 内部论坛中进行。

标签: ibm-cloud ibm-watson document-conversion


【解决方案1】:

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

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

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

【讨论】:

  • "contentType" 似乎不起作用,但 "content_type" 起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 2014-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多