Получение странной ошибки от службы преобразования документов 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'
}
}