2017-06-20 80 views
0

我正在尝试POST通过Postman将文档发送到Watson的发现服务。它给了我下面不那么有用的错误消息,不管我是什么样的文件:将文档摄入Watson Discovery服务时收到415错误

{ 
"code": 415, 
"error": "The request failed. Please try again."} 

请求看起来像:

https://gateway.watsonplatform.net/discovery/api/v1/environments/7c83f310-0f3a-4ad0-bb71-5f260672cbca/collections/c0080236-aac1-405c-8111-322caa6b0b65/documents?version=2016-12-01 

包含二进制和证书文件的身体在标题中。

我可以通过收集仪表板上传这些文件,所以我必须做错了什么。谁能告诉我它是什么?

回答

1

HTTP状态码415标题为不支持的媒体类型

有两个级别可以触发来自Discovery的415

  1. 发现需要,总的HTTP POST请求是多部分形式,当添加(或更新)文档(准确地说:Content-Type: multipart/form-data; boundary= ...)的文件需要的是多部分形式请求作为一部分内发送名为file

  2. 发送多部分表单时,可能会拒绝正在发送的文件,或可能只是您为file部分发送的Content-Type标头。 Watson Discovery支持HTML,JSON,PDF和Microsoft Word文档。其他任何内容都将获得415响应,包括如果发现无法正确猜测内容类型。 Discovery使用文件名来帮助猜测内容类型是什么。

相关的问题:

  • 你捆绑在multipart/form-data您的要求吗?
  • 你要发送什么类型的文件?
  • 什么是您要发送的文件的名称
+0

我试了PDF和Word文件。我试图上传的文件名为ZSQ03011USEN.pdf和XBQ12358USEN.docx。就像我所说的,他们在使用仪表板时都很好。我会尝试在头文件中手动指定mime/type。 –

+0

啊!好。 _另一个事情发现添加(或更新)文档的要求是,_overall_ HTTP POST请求是一个多部分形式(具体来说:Content-Type:multipart/form-data; boundary ='...)需要发送文件将多部分表单请求作为名为'file'的部分进行处理。 (我想我应该更新我的答案来说这样的话。) –

相关问题