簡體   English   中英

帶有應用程序/八位字節流的POST調用

[英]POST call with application/octet-stream

嗨,我正在嘗試觸發對以下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:\Users\user1\Desktop\IMG.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”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM