2017-06-20 79 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'的部分進行處理。 (我想我應該更新我的答案來說這樣的話。) –

相關問題