当前位置: 首页 > 知识库问答 >
问题:

如何在Android中使用HTTP POST与“application/octet-stream”?(微软认知视频)

百里光熙
2023-03-14

我想使用Android中的视频认知服务。Microsoft提供的示例在C#中使用。视频功能是向服务器发送URL,所以我认为在Android中使用HTTP POST发送URL是可能的。

http://ppt.cc/v1pia

共有1个答案

鲍向笛
2023-03-14

您可以尝试这样的方法来发送用于认知服务面部检测的图像文件。使用org.apache.httpcomponents::httpclient:

    @Test
    public void testSendBinary() throws MalformedURLException {
        File picfile = new File("app/sampledata/my_file.jpeg");
        if (!picfile.exists()) throw new AssertionError();


        HttpClient httpclient = HttpClients.createDefault();

        try {
            URIBuilder builder = new URIBuilder("https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect");

            builder.setParameter("returnFaceId", "true");
            builder.setParameter("returnFaceLandmarks", "false");

            URI uri = builder.build();
            HttpPost request = new HttpPost(uri);
            request.setHeader("Content-Type", "application/octet-stream");
            request.setHeader("Ocp-Apim-Subscription-Key", "***");

            // Request body
            request.setEntity(new FileEntity(picfile));

            HttpResponse response = httpclient.execute(request);
            HttpEntity entity = response.getEntity();

            if (entity != null) {
                System.out.println(EntityUtils.toString(entity));
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
 类似资料:
  • 我试图使用RESTAssuret将“application/octet-stream”内容类型发送到RestAPI。但是它失败了,并抛出错误,比如:不知道如何将×××××编码为字节流。我曾尝试使用encoderConfig().encodeContentTypeas()方法,但此meyhod不适用于RestAssured。请建议是否有任何其他方法来解决这个问题。

  • 我试图在Spring Boot中创建一个使用JSON的简单Post请求处理程序。 默认情况下,我的理解是这将使用application/json。然而,当我使用curl或Postman发出请求时,我从Spring得到了这个响应。。。 在邮递员中,我得到了“415不支持的媒体类型”。 如果我明确定义“consumes”属性。。。 Spring开机返回这个。。。 我尝试将consumes设置为“app

  • 但最后一句话是: org.glassfish.jersey.message.internal.messageBodyProviderNotFoundException:找不到媒体的MessageBodyReader type=application/octet-stream,type=class com.app.weather.providers.org.openweatherap.pojo.we

  • 我的控制器如下所示: 我已经尝试将“consumes”更改为将APPLICATION_OCTET_STREAM_VALUE删除为MULTIPART_FORM_DATA_VALUE,也尝试删除它,但这些都没有帮助。 如果你需要更多的信息,请告诉我。谢了。

  • 问题内容: 我正在通过此方法使用RESTfull Web服务: 在我的Android应用中,我想调用此方法。如何使用org.apache.http.client.methods.HttpPost给参数赋予正确的值; 我注意到我可以使用批注@HeaderParam并将标题添加到HttpPost对象。这是正确的方法吗?这样做: 在httpPost上使用setEntity方法将不起作用。它仅使用json