如何为微软认知服务API编写带有二进制输入的POST方法

本文关键字:二进制 输入 方法 POST 微软 认知 API 服务 | 更新日期: 2023-09-27 17:58:31

Microsoft认知服务API支持POST主体中的两种输入方法:原始图像二进制或图像URL。通过使用这个API的在线测试控制台,我知道HTTP请求应该是什么样子。

`POST https://api.projectoxford.ai/vision/v1.0/analyze?visualFeatures=Faces HTTP/1.1
Content-Type: application/json
Host: api.projectoxford.ai
Content-Length: 125
Ocp-Apim-Subscription-Key: ••••••••••••••••••••••••••••••••
{"url":"someImageURL"}`

我正在向UnityWebRequest提出请求,到目前为止我拥有的是

string url = "https://api.projectoxford.ai/vision/v1.0/analyze?visualFeatures=Faces";
UnityWebRequest www = new UnityWebRequest(url, "POST");
www.SetRequestHeader("Content-Type", "application/json");
www.SetRequestHeader("Ocp-Apim-Subscription-Key", APIKEY);

如何将我的byte[]图像包含在此请求中?

如何为微软认知服务API编写带有二进制输入的POST方法

我只是通过Unity的WWW,而不是UnityWebRequest找到了它。

我用这个代码成功了:

    // Add WWW Headers needed
    WWWForm form = new WWWForm();
    var headers = form.headers;
    headers["Content-Type"] = "application/octet-stream";
    headers["Ocp-Apim-Subscription-Key"] = Key;
    //Start WWW Request
    WWW www = new WWW(url, image, headers);
    StartCoroutine(WaitForRequest(www));