- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我构建了一个小型 Windows 窗体应用程序,只是为了玩弄图像识别。我已经训练了一个模型,并构建了一个 Windows 窗体应用程序,该应用程序获取网络摄像头图像流,将 JPG 帧上传到 AWS S3 存储桶,然后将公开可读的 URL 传递到 Vision API 以提供标签评分。
如果我通过 POSTMAN 调用传递图像,它工作正常,但是在我的代码中,我收到以下错误:
{StatusCode: 415, ReasonPhrase: 'Unsupported Media Type', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
apim-request-id: 8d5759e5-d32a-4ba2-8b54-16f3a3f1aa40
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
Date: Thu, 20 Sep 2018 00:49:39 GMT
Content-Length: 116
Content-Type: application/json; charset=utf-8
}}
根据文档:
Response 415 Unsupported media type error. "Content-Type" does not match the post content.
For image URL, "Content-Type" should be application/json For binary image data, "Content-Type" should be application/octet-stream
正如您从下面的代码中看到的,我正在设置正确的内容类型。我将只发布处理发布到 API 的函数,因为这就是问题所在。任何帮助,将不胜感激。
首先,通过 POSTMAN 进行调用有效的证据:
这是我失败的方法。您可以看到我设置了正确的内容类型,并且我使用相同的图像在我的代码和 POSTMAN 之间进行测试。
/// <summary>
/// Take a provided image url and return the Vision API results
/// </summary>
/// <param name="url">a valid HTTP or HTTPS url containing a reference to a JPG image</param>
/// <returns></returns>
static async Task<string> GenerateVisionResult(string url)
{
string visionResult = null;
try
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://southcentralus.api.cognitive.microsoft.com/customvision/v2.0/Prediction/3dd9e6c3-aac4-4da1-8c74-cd2d581d4782/url?iterationId=5c1b1548-98d7-45b0-a0e7-f397f35ffcd9");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("Prediction-Key", "<redacted for post on StackOverflow>");
var UrlBody = new UrlBody
{
Url = url
};
var httpRequestMessage = new HttpRequestMessage
{
Content = new StringContent(JsonConvert.SerializeObject(UrlBody),Encoding.UTF8),
Method = HttpMethod.Post
};
HttpResponseMessage httpResponse = await client.PostAsync(client.BaseAddress, httpRequestMessage.Content);
if (httpResponse.IsSuccessStatusCode)
{
visionResult = await httpResponse.Content.ReadAsStringAsync();
}
else
{
visionResult = httpResponse.StatusCode.ToString();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
return visionResult;
}
编辑:我想我刚刚意识到我的错误,在我处理将 url 添加到 POST 方法的方式中。一旦我尝试修复它,我会报告。
EDIT2:不。还是没有骰子。我想也许我没有正确序列化 URL 对象,但我已经测试过,内容符合预期,只需序列化以下对象:
public class UrlBody
{
public string Url { get; set; }
}
最佳答案
感谢 Jamie 对 Fiddler 的帮助,但我发现了问题。您无法像我在原始代码中那样将内容传递给 POST 方法。您必须将内容转换为可以作为 HttpContent 传递给 post 方法的内容,例如
var content = JsonConvert.SerializeObject(url);
var buffer = System.Text.Encoding.UTF8.GetBytes(content);
var byteContent = new ByteArrayContent(buffer);
byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
然后您将得到有效的响应。
关于c# - Azure 自定义视觉 API 返回 JPG 图像 url 不受支持的媒体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52416043/
当我尝试以非整数的步长(例如,每帧 0.5 像素)在屏幕上移动图形对象时,这会导致移动不稳定和“滞后”;因为对象只会每两帧移动 1 个像素。 我理解为什么会发生这种情况,因为对象的 x/y 值必须是整
市面上有大量的家谱应用程序,但出于某种原因,我找不到一个示例来说明如何为 Android 应用程序创建一个。我是否使用 Canvas ,是否有图表库? 我的基本要求是画一个三层的树(节点)图/图表,其
[ {name: 'John'}, {name: 'Plasmody'}, {name: 'Kugelschreiber'}, {name: 'Sarrah'}, ] 如果我在 J并做
我试图定位所有没有 www 的链接。在数据库中。 https://launchhousing.org.au 并替换为 https://www.launchhousing.org.au 我使用了“搜索和
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
我需要排除具有以下模式的文件: ProjectFoo.Data[0-9]{14}.lgp 如何将 RegEx 用于 (Visual)SVN 忽略列表? 最佳答案 subversion 忽略列表不支持正
我正在寻找在处理中创建该项目的方法,但是,我发现该术语有点困难。我不确定如何调用在整个歌曲中线条永久保持的效果来“绘制”音乐数据。 对于我可以查看哪些教程或某人的回答,我将不胜感激。 我的目标是创建尽
我正在尝试为 android 制作游戏。我目前已将所有美术资源加载到 drawables 文件夹中,但我的问题是如何实际引用特定资源来渲染它? 我知道每个文件都有一个唯一的@id,我可能必须在onDr
Closed. This question is off-topic。它当前不接受答案。
只是一个简单的问题。 有一个简单的可视化工具可以生成iOS/QuartzCore的源代码吗? 例如,我会制作一个带有路径和a的CAKeyframeAnimation(例如CGPathMoveToPoi
编辑 3:我想这已经解决了。我刚刚启用了古腾堡编辑器并发现了它的“经典编辑器”部分,即代码编辑器。我唯一需要习惯的是我无法轻易修改的编辑器行高,这还不错。这对我有用,它超过了修改 functions.
我想在具有背景 slider 的可视 Composer 行内创建一个下拉菜单,最重要的是我要切换的链接。我在编辑自定义 css 时面临的问题是链接没有设置为 bottom:0;已设置position:
我正在学习 C++,并且了解一点 Visual Basic 和 Delphi。 但我想知道,有没有像 Delphi 这样的程序,但适用于 C++。您可以将按钮拖到窗体上,双击它,就像在 Delphi
我正在努力使用 pygame 初始化 OpenGL 显示。和pyopengl . import pygame pygame.init() pygame.display.set_mode((1920,
不确定我做错了什么。我创建了一个主题,除了我在可视化编辑器中创建帖子外,一切都很好。对我来说,这很好,但大多数用户不了解 HTML,因此无法真正进入并编辑代码。 在元素检查器(Chrome)中,文章是
我正在编写一个 C# 程序,它接受一堆参数并对数据点进行一些转换,然后将它们绘制到屏幕上。 在我的一个表单上,我有一堆文本框,我都想执行相同的 KeyPress 事件。在我只做一个 switch 语句
我正在创建 UML 事件图,我需要使用发送和接受信号,但我似乎找不到它。我试图用谷歌搜索它,但我似乎找不到任何东西。有谁知道我在哪里可以找到它们,或者它们在 Visio 中不存在? 最佳答案 想知道为
是 Haskell for Visual Studio 2005兼容VS2008 SP1 ? 最佳答案 您最初问题的答案是否定的。visual haskell 的代码是用 Haskell 编写的,并通
我正在使用 Visual Composer 开发我的 WordPress 网站。 我需要包含一个可分页的容器,但如果它可以像幻灯片一样就更好了。 This is my pageable contain
有哪些 Web 应用程序可以让我直观地(通过单击)使用任何 REST API 并生成一些代码(以任何语言)来捕捉我所描述的视觉内容? 与 Swagger 或 Google API Playground
我是一名优秀的程序员,十分优秀!