Получение странной ошибки от службы преобразования документов Watson

Я пытаюсь преобразовать некоторые документы в блоки ответов с помощью службы преобразования документов Watson, используя библиотеку Javascript watson-developer-cloud в Node.js. Некоторые из них (пример по внутренней ссылке IBM и файл.DOCX) возвращают эту ошибку:

Ошибка: код: ошибка 400: Представленные данные находятся в XML-формате Office 2007+. Вы вызываете ту часть POI, которая касается офисных документов OLE2. Вам нужно вызвать другую часть POI для обработки этих данных (например, XSSF вместо HSSF)

Если я пытаюсь конвертировать его через демонстрационный сайт конвертации документов, кажется, что он конвертируется без ошибок. Моя программа загружает файл из источника, записывает его на диск и затем загружает его в службу преобразования документов через вышеупомянутую библиотеку.

Есть ли способ обойти эту ошибку? Учтите, что это преобразование является частью массового автоматического преобразования тысяч документов, поэтому ручная обработка этих выбросов исключена.

1 ответ

Решение

Служба пытается автоматически определить тип мультимедиа загруженного файла, используя первые несколько байтов файла и имя файла.

Если имя файла недоступно (т. Е. Не передано вашим пользователем), вы можете указать тип носителя для файла, который вы загружаете, в части файла вызова преобразования:

file: {
    value: fs.createReadStream('filename'),
    options: {
      contentType: 'application/vnd.openxmlformats officedocument.wordprocessingml.document'
    }
}
Другие вопросы по тегам