无效的图片网址或从目标服务器

时间:2016-10-21 14:47:59

标签: c# microsoft-cognitive

当我使用特定图片网址调用postAsync时,我在json响应中看到以下错误。

“无效的图像URL或从目标服务器下载错误。返回远程服务器错误:”发送请求时出错。“”

以下是图片网址: http://localhost:3942/WebImages/201658211024test.jpg

以下是代码:

var uri = "https://api.projectoxford.ai/face/v1.0/detect?" + queryString;
string jsonbody = "{\"url\":\"" + imageUrl + "\"}"; 
byte[] byteData = Encoding.UTF8.GetBytes(jsonbody);
var content = new ByteArrayContent(byteData);
content.Headers.ContentType = 
new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); 
response = await client.PostAsync(uri, content); 
string json = await response.Content.ReadAsStringAsync();
你能告诉我这是什么问题吗? 是因为图片网址末尾有格式类型吗?如果是这样,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

当您使用指定的图像URL向Cognitive Service API发出请求时,您将指示在云中运行的服务从 位置加载图像。该服务无法找到您的 localhost,因此错误。

您有两种选择:(a)如果您的图片已在公共可访问网址上提供,请改用网址。如果您不确定网址是否可公开访问,请尝试在手机的浏览器中输入该网址。或者,(b)在HTTP请求正文中上传图像。您还需要将MediaTypeHeaderValue设置为application/octet-stream

如果您在Visual Studio中使用托管语言(如C#),请考虑使用NuGet包。这将为您处理细节。该NuGet包的源代码位于GitHub