如何通过API将文档上传至watson发现服务。 ASP.net

我正在使用以下API将文件上传到watson发现服务。即使我提供了一个有效的类型,我也会得到不支持的文件格式的响应。 API:discovery service api如何通过API将文档上传至watson发现服务。 ASP.net

public async Task<ActionResult> Index() 

{

using (var httpClient = new HttpClient())

{

//ADD BASIC AUTH

var authByteArray = Encoding.ASCII.GetBytes("{auth key}");

var authString = Convert.ToBase64String(authByteArray);

httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authString);

var text = string.Empty;

var uri = "https://gateway.watsonplatform.net/discovery/api/v1/environments/{envid}/collections/{collectionid}/documents?version=2017-11-07";

var content = new MultipartFormDataContent();

var bytes = System.IO.File.ReadAllBytes(Server.MapPath("~/Views/UploadDocument/civilwar-api1.html"));

var file = new StreamContent(new MemoryStream(bytes));

content.Headers.ContentType = MediaTypeHeaderValue.Parse("text/html");

content.Add(new StreamContent(new MemoryStream(bytes)), "file");

var response = await httpClient.PostAsync(uri, content);

var text1 = await response.Content.ReadAsStringAsync();

}

return View();

}

API响应为:{ "code" : 415, "error" : "Unsupported Media Type" }

回答:

尝试httpClient.DefaultRequestHeaders .Accept .Add(new MediaTypeWithQualityHeaderValue("application/json"));//ACCEPT header

回答:

正如你可以看到沃森开发者云,你可以使用.NET SDK。

在此存储库中,您可以看到使用Watson的每项服务的examples。

的方法来添加一个文件:

#region Documents 

private void AddDocument()

{

Console.WriteLine(string.Format("\nCalling AddDocument()..."));

using (FileStream fs = File.OpenRead(_filepathToIngest))

{

var result = _discovery.AddDocument(_createdEnvironmentId, _createdCollectionId, _createdConfigurationId, fs as Stream, _metadata);

if (result != null)

{

Console.WriteLine(JsonConvert.SerializeObject(result, Formatting.Indented));

_createdDocumentId = result.DocumentId;

}

else

{

Console.WriteLine("result is null.");

}

}

}

  • 查看更多有关Watson Discovery。

以上是 如何通过API将文档上传至watson发现服务。 ASP.net 的全部内容, 来源链接: utcz.com/qa/263403.html

回到顶部