Project Oxford Faces API [Java] {" code":" BadArgument"," message":" Invalid Media Type。"} [英] Project Oxford Faces API [Java] {"code":"BadArgument","message":"Invalid Media Type."}

查看:71
本文介绍了Project Oxford Faces API [Java] {" code":" BadArgument"," message":" Invalid Media Type。"}的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在下载图片,如此...

I am downloading an image, like so...

           网址url =新网址(" http://www.huntresearchgroup.org.uk/images/group/group_photo_2010.jpg");

             BufferedImage image = ImageIO.read(url);

             ByteArrayOutputStream baos = new ByteArrayOutputStream();

             ImageIO.write(image," jpg",baos);

             bytes = baos.toByteArray();

            base64Img = Base64.getEncoder()。encodeToString(bytes);

             StringBuilder sb = new StringBuilder();

            for(byte by:bytes)

                sb.append(Integer.toBinaryString(& 0xFF));

            imgBinaryString = sb.toString();

            URL url = new URL("http://www.huntresearchgroup.org.uk/images/group/group_photo_2010.jpg");
            BufferedImage image = ImageIO.read(url);
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            ImageIO.write(image, "jpg", baos);
            bytes = baos.toByteArray();
            base64Img = Base64.getEncoder().encodeToString(bytes);
            StringBuilder sb = new StringBuilder();
            for (byte by : bytes)
                sb.append(Integer.toBinaryString(by & 0xFF));
            imgBinaryString = sb.toString();

            URIBuilder builder = new URIBuilder(" https://api.projectoxford.ai/face/v1.0/detect");

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

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

            builder.setParameter(" returnFaceAttributes"," age,gender");
$


            URI uri = builder.build();

            HttpPost请求=新的HttpPost(uri);

            request.setHeader(" Content-Type"," octet-stream");

                

            StringEntity reqEntity = new StringEntity(imgBinaryString);

            request.setEntity(reqEntity);

            URIBuilder builder = new URIBuilder("https://api.projectoxford.ai/face/v1.0/detect");
            builder.setParameter("returnFaceId", "false");
            builder.setParameter("returnFaceLandmarks", "false");
            builder.setParameter("returnFaceAttributes", "age,gender");

            URI uri = builder.build();
            HttpPost request = new HttpPost(uri);
            request.setHeader("Content-Type", "octet-stream");
                
            StringEntity reqEntity = new StringEntity(imgBinaryString );
            request.setEntity(reqEntity);

我已经尝试发送图像的二进制表示字符串,如上所示。我已经尝试发送Base64编码图像的二进制表示字符串。什么都行不通。一些帮助会很棒。

I have tried sending a binary representation string of the image, as shown above. I have tried sending a binary representation string of the Base64 encoded image. Nothing works. Some help would be great.

推荐答案

两个问题。


  1. 错误是指MIME类型,应该是"application / octet-stream",而不仅仅是"octet-stream"。
  2. 如果您要检测图像中的面部如果您有网址,则无需先将其下载到您的客户端。 而是发送一个JSON主体"{" url":" your-url"}'。 如果你走这条路线,内容类型应该是
    " application / json"。


这篇关于Project Oxford Faces API [Java] {" code":" BadArgument"," message":" Invalid Media Type。"}的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆