Всем доброго времени суток.
Пытаюсь перенести в Ах .Net пример вот отсюда
https://www.remove.bg/api#sample-code
Имею следующий код
X++:
System.Net.Http.MultipartFormDataContent multipartFormDataContent;
System.Net.Http.Headers.HttpContentHeaders httpContentHeaders;
System.Net.Http.HttpClient httpClient;
System.Net.Http.HttpResponseMessage httpResponseMessage;
System.Net.Http.HttpContent httpContent;
System.Net.Http.ByteArrayContent byteArrayContent;
System.Net.Http.StringContent stringContent;
System.Threading.Tasks.Task task;
System.Byte[] fileByte;
System.IO.FileStream fileStream;
;
....
httpClient = new System.Net.Http.HttpClient ();
multipartFormDataContent = new System.Net.Http.MultipartFormDataContent();
httpContentHeaders = multipartFormDataContent.get_Headers();
httpContentHeaders.Add('X-Api-Key', SysAdminParameters::removeBgApiKey());
fileByte = System.IO.File::ReadAllBytes(fileName);
byteArrayContent = new System.Net.Http.ByteArrayContent(fileByte);
multipartFormDataContent.Add(byteArrayContent, 'image_file', fileName);
stringContent = new System.Net.Http.StringContent('auto');
multipartFormDataContent.Add(stringContent, 'size');
try
{
task = httpClient.PostAsync("https://api.remove.bg/v1.0/removebg", multipartFormDataContent);
// вот тут собственно у меня и затык
//httpResponseMessage = httpClient.PostAsync("https://api.remove.bg/v1.0/removebg", multipartFormDataContent);
if (isSuccessStatusCode)
{
fileStream = new System.IO.FileStream(fileNameWoBg, System.IO.FileMode::Create, System.IO.FileAccess::Write, System.IO.FileShare::None);
httpContent = httpResponseMessage.get_Content();
httpContent.CopyToAsync(fileStream);
fileStream.Close();
}
}
catch (Exception::CLRError)
{
//info(AifUtil::getClrErrorMessage());
handleClrException_MRC(false, true);
throw error("@SYS93289");
}
Как из Task извлечь HttpResponseMessage?
Подсказка явно показывает что результат работы httpClient.PostAsync это System.Threading.Tasks.Task`1[System.Net.Http.HttpResponseMessage]