使用应用程序/八位字节流进行开机自检呼叫



嗨,我正在尝试触发对以下 API 的 POST 调用。 这是代码

var client = new HttpClient();
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/octet-stream"));
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", key);
var queryString = HttpUtility.ParseQueryString(string.Empty);
queryString["returnFaceId"] = "true";
queryString["returnFaceLandmarks"] = "false";
queryString["returnFaceAttributes"] = "age,gender";
var filebytes = File.ReadAllBytes(@"C:Usersuser1DesktopIMG.jpg");
var uri = "https://southeastasia.api.cognitive.microsoft.com/face/v1.0/detect?" + queryString;
HttpResponseMessage response;

using (var content = new ByteArrayContent(filebytes))
{
response = client.PostAsync(uri, content).Result;
var result = response.Content.ReadAsStringAsync().Result;
}

我在result中收到以下错误:

{"error":{"code":"BadArgument","message":"JSON parsing error."}}

如果我使用application/json并传递 http 链接,则此代码工作正常。

作为Microsoft给出的示例代码,您可以尝试像示例一样设置ContentType

using (var content = new ByteArrayContent(byteData))
{
content.Headers.ContentType = new MediaTypeHeaderValue("< your content type, i.e. application/json >");
response = await client.PostAsync(uri, content);
}

尝试将请求内容类型设置为"application/octet-stream"。

相关内容

  • 没有找到相关文章

最新更新