2017-08-03 31 views
0

トレーニングイメージをアップロードするためにAPIを使用しようとしています。 https://southcentralus.dev.cognitive.microsoft.com/docs/services/d9a10a4a5f8549599f1ecafc435119fa/operations/58d5835bc8cb231380095be3MS認知サービスCreateImagesFromData UnknownMediaType

ここは私のコードです。

public async Task<CreateImageResult> CreateImagesFromData(byte[] _image) 
{ 
    using (var client = new HttpClient()) 
    { 
     client.BaseAddress = new Uri(_baseAddress); 
     client.DefaultRequestHeaders.Accept.Clear(); 
     client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
     client.DefaultRequestHeaders.Add("Training-key", _trainingKey); 

     HttpResponseMessage response; 

     using (var content = new ByteArrayContent(_image)) 
     { 
      response = await client.PostAsync(String.Format("Training/projects/{0}/images/image?tagIds=Default", _projectId), content); 
     } 

     HttpContent data = response.Content; 
     string result = await data.ReadAsStringAsync(); 
     return JsonConvert.DeserializeObject<CreateImageResult>(result); 
    } 
} 

この要求は私にUnkonwnMediaTypeをスローし、私は私が欠けているかと思っています。

_imageパラメータは有効なimage/jpegバイト配列です。

答えて

1

自分自身で答えを見つけました。

public async Task<CreateImageResult> CreateImagesFromData(byte[] _image) 
{ 
    HttpContent bytesContent = new ByteArrayContent(_image); 

    using (var client = new HttpClient()) 
    { 
     client.BaseAddress = new Uri(_baseAddress); 
     client.DefaultRequestHeaders.Accept.Clear(); 
     client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
     client.DefaultRequestHeaders.Add("Training-key", _trainingKey); 

     HttpResponseMessage response; 

     using (var content = new MultipartFormDataContent()) 
     { 
      content.Add(bytesContent, "Image", "Image"); 
      response = await client.PostAsync(String.Format("Training/projects/{0}/images/image?tagIds=Default", _projectId), content); 
     } 

     HttpContent data = response.Content; 
     string result = await data.ReadAsStringAsync(); 
     return JsonConvert.DeserializeObject<CreateImageResult>(result); 
    } 
} 
関連する問題